{"_id":"ipfs-grpc-client","_rev":"233-a3a751bbe35e352e1a1f163653797f80","name":"ipfs-grpc-client","dist-tags":{"latest":"0.13.1","next":"0.13.0-7b79c1b8"},"versions":{"0.0.0":{"name":"ipfs-grpc-client","version":"0.0.0","description":"","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"ISC","_id":"ipfs-grpc-client@0.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.1","dist":{"integrity":"sha512-SDkpKg8j29AQtScLQ6LeZ5Igw4YRjfK2wO7jjyC+Ri1voEws1tzQdXyJANzDuRYQQNfNp4me21jYBQoaBU1eOQ==","shasum":"187b92d0c2904655599f00b86b72301cc072ee25","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.0.0.tgz","fileCount":1,"unpackedSize":212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfn+7FCRA9TVsSAnZWagAAnTAP/RcvQOR/aK1Ak5SWLUuV\nCF1pKUyVGBwYD8Yq5m1lE7aCE2NftXqTEfgzEmiMy/BHqdG+6D9DhuDd2R1w\njTBPQOujxF07yo0ThkapOIfohvfBW1bmxT5m8At+9hinZBolfBX5v1+vifj1\nBgeQPnYQAmVH+j+dI3Ad40qYFgQdtlzQbuQ+G5xsX1qSpd7atJVRhY5dK9tL\nug/++X3PFaX61ZJaih8TaJvBbVEf7OdlBPjazltFlspkxGzoQN5BAKJkax+F\nGW7ZqJxgal0Hc37reO6vRcFlE7U9UnYh9xzcLi8XTcYMDQP6aG2fcXKe6zkJ\n+w3qQnmYXoCQmdZ6MAnHDJ34zDKoHyb3kl4Vvzwqj1DUVwlMLUm76bwMVKic\nMrlrLHcUFWhNo3S+/vvj//tmobZRlkUIg+He4vbrgX4uAI4wf+eX+ibxPVJj\nCPpKHWKl16A/zKPeHwnceS6hNa0ZgXKoX8UGhgsbUPt55VnGRZw+xIlHITH+\n1G2qt7lEPnn0xa7/JsPSCzJLl92SLIOpgeR6rqLMtRkljXMI2hSoBERgmNp/\nDjTyzJ5j1vFcWrvnC9v/SMYhgZO4BsdQ9HjsSKN1ea696OnogiH3wPACy/s6\ntoZ5YYmNFsotKpSDrMXyYZH5pIQ3LlTS97Aa3CuPXr3FRn3u3P+RzBge4n45\nz9RS\r\n=Job9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB2gjMDHwdQ6L3Qi4w02qGUzFgfz5B90vBGtxOWs7VI6AiBLxdL3TcLEXivuDwzm3MJPXyFIAurvjiiJD6RJuz08EA=="}]},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.0.0_1604316868855_0.4178187512776437"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-rc.5957":{"name":"ipfs-grpc-client","version":"0.0.1-rc.5957","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i typescript -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.0.0","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.5.5-rc.4+ae497111","ipfs-grpc-protocol":"^0.0.1-rc.5957+ae497111","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^29.2.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"ae4971113534c8f988aa14314e43a00fc3df854b","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `createClient([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst createClient = require('ipfs-gprc-client')\n\nconst client = createClient({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.0.1-rc.5957","_nodeVersion":"14.15.3","_npmVersion":"lerna/3.22.1/node@v14.15.3+x64 (linux)","dist":{"integrity":"sha512-+A/uuwbWHr9IMCoLGnJWxqwEy7/DwEt9ant8kVX7JYK0ckvNdBYLcUzBpkFD/9n/EjMpZAil3Vv7zw0HwezRQg==","shasum":"fd6f0b1ebf6ffe3bfe522bcc71e1db8b594addc7","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.0.1-rc.5957.tgz","fileCount":16,"unpackedSize":21344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3OsTCRA9TVsSAnZWagAAxAwQAITlnMhUGfmE+yHIOZrn\nwaVgc8Wq8FMz4EoAPe6R1yLyFd9oR0kI4/CGhDC0yPlPQ9RTgF5Io7jIqpT8\nY95Uh6pVJSDbluZD8zKHO52QMZ1JnbLyxS7bRBpenME7PbwXyXWG/40kXB9l\nXFNYA3su6SIb5GIo+43rFsZmWsgLBesr/njUaAZs0ovWxWPCB1yeG+AEwy8A\n/ZIi7oIpNdm4c8FuX6vRlfVS+n2mr0T3LNSCTLpV5kK4i9BidF5nrPRCEajk\nL3oGKhsEASuq2hSUsKbv/E/CgiIWIMxoyBR7sls4oOdSnM5dB8lkJW6DyCON\nCHiAU9iZb3yojZWgXLkYUtNmJa0qmgWca0qHaNafLfTypMMTn50Pl1N8NK+W\nz0iS5jDtzVWV2CtMRlVKmGRJp6ZuhcSzTcIYsvcA9t39RxLf8uCLvDTvuikN\nPv6ZAuCRmOkTsbthx2ovz6kaVQ+kOSphyKuyLiRihxGTHzGxEz2q1ko71cRo\nD7n2Vm5d/T86tsIAz5Z6/yjW8PoVKfPXySzK31+LA6oZygoto8HmuS6xht15\naqieuo/xMliKO/Cr4aJFM33sFOS4CSV5rLKwBxTlbMRCPjgmup6TmopATdqK\nN6et1ycDFs7+lQ+E6h4BTTxNXMb997tpNgL3qRNAAH+ExOVkGAT9yWnRutFA\nl8fL\r\n=s6iC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIATqhrlE7EyUzQao1lu1EGmFk/IigkGX7+j2fTXZwqpDAiB6l2NlAcCAX/nGXYFA4uELzGitUZCHTTRyn+siD3abnA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.0.1-rc.5957_1608313619101_0.5493840961989094"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-rc.5958":{"name":"ipfs-grpc-client","version":"0.0.1-rc.5958","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i typescript -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.0.0","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.5.5-rc.5+fad9b740","ipfs-grpc-protocol":"^0.0.1-rc.5958+fad9b740","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^29.2.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"fad9b7402e67a459e9967a1319870da165ba722a","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `createClient([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst createClient = require('ipfs-gprc-client')\n\nconst client = createClient({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.0.1-rc.5958","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (linux)","dist":{"integrity":"sha512-di5jyes8Y2y9UfCWUu8JEUvtZuniX7mpAMQS/3uiRvilgTZKJunyVYSX/VzABRbWKASQGULxUv4N/Zo+zcVshg==","shasum":"bbe08692082aba0e0b3b60b1a6e626e0bb670cc8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.0.1-rc.5958.tgz","fileCount":16,"unpackedSize":21344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/ubuCRA9TVsSAnZWagAAEb4P/ivs0hAyNn8mRlWo2Qqy\nxQpcsQyZz9wWfSQBPPUU6lr4Ns0Yk//938avcBZEK6pxQ41qVaMnwOS4T8b6\nQNhmJlHG9YQCiOUGU1LjRsJqpbxRPZJfS04dtzShT7etRJ95tnphpb1v+bpD\nLUuzwtdd0ELNd+NYD82/58YZCqdP1KjCPaodfUbHLpfQhJrR7iMDo6zT0LLj\nxLzqwYVlR5wP2/mICBC5CmJNeLtMG/jge5rbjtWUyo6cBPURLK06q00yP9Mp\nHIGsEgB6G1w2wHxMPGbVFqG9kHSZwBqQaJAUkwIpFMWGBiQefX1S50+OhCMw\n337jBFVt5GHzvZ8DWESWV8r5xqQLPqdWtC+eG9e8ecRztq0EydTIKu1i+gK9\nvyNG7USnLiovAgkmKP6xdQE4LY85gAakxNev9VH1ZkREEVrsmT4wcK6sWQx2\nRaQ9U91XUIvW469Q6mWK82UZVAUKJCIQ3t2O2OfmT/3HlBkOO+Vf2n2f+yiJ\naSZ8z+3nUoTg426aeuT0hdUXxQtkZku+V8TJEFJYGDRoH4uRyVyTbhj6ePDE\nGiNzQED95nyDaKc3KqzZTizExYiXdDrASTNB8pIXANVQz41vGLBhqSOSO14b\n6XdW/LDrRa98+dZDfUekueSquqK7nJ4KDtKrwpWvoGOtHtzUhmpyb288gNQi\nIGcV\r\n=HwS0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSi32TcHYRByPzF2/8iUFNrd7WnES5WWzbXzRqmHf6HAIgdU20W48M7ureuXzxO9rVqv01X8zQd0y8D02dKhPe47M="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.0.1-rc.5958_1610540782370_0.6796197218462834"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-rc.5959":{"name":"ipfs-grpc-client","version":"0.0.1-rc.5959","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i typescript -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.5.5-rc.6+b90a495b","ipfs-grpc-protocol":"^0.0.1-rc.5959+b90a495b","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^29.2.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"b90a495bd07cc81ac7a9dcad75c5625b59dc3dd9","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `createClient([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst createClient = require('ipfs-gprc-client')\n\nconst client = createClient({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.0.1-rc.5959","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (linux)","dist":{"integrity":"sha512-Opkm6GJOBH+2sTw39VE3qFG8NYlvl/KyrxSOsj1DLhAIZtu7BxPHLeoVCULQUPaNyjzWiSBVGfrJPdAMFNdssA==","shasum":"978762987604b164534974d84cc812a2a6ee5b65","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.0.1-rc.5959.tgz","fileCount":16,"unpackedSize":22956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAVeJCRA9TVsSAnZWagAApdgP/jt9iRuTgufJ3p9HiOjy\nhQId13j+AwkXgmhh27E7GNr9vRVm4hdPhh2x2wlwgq7v1HQ702q65iIupmtG\nmf6dNURKTFVIRa+Oa2DtKGa06YSvartfKDeL/JKRXk77iZInep+VgnjCPixb\no/eh3xZLFGoL6492F2ix+8IwJSI5thqtKnV8xXL8gIKY/wlwH96X/lpeD0C8\nWkITrTCQwuoMBZNeOL2eJbBjk0T2wRG7hNwOviNo5UvSDyAbNsy2VlAt2RPY\n8c3DaQr8AZ/QkMHmKuBbbsJMrjqsfJZB2G8IWIly009ro+zOhME7XopH33u0\nJ79n9EKjJojJHyGtXWHTEk7elpWnvWrvX7qBA4XcR7WmBSMmselFNGaZZHXW\n3nz1mtC9a17ST91EkdV9WeHNe2ysxu0a/zLxBDPnQ8mxaZTN5Xr5AMdc+XwE\nfCZMqM+kP+mDFUVdbDRUl45Z46Ofi8z575KUTlGXpX5QMyuPmUOgBBnP9xpo\negi69iONBy0+mGbckYONfCuirymPdJOTg2HLDZXaIHizDuPND5wX/iclAPg5\n4ASmc4r1+QQOyUtzMbSOdSRbVo0q0ex+piVcyZN3coyzIwuidK/kSTG0BbIH\nlOOvRXk1Cl3LBMsRehf78ElD9Ew1Q3JCwS9e0bMFc/SoClMHfkrWOn6e9odS\n7XTV\r\n=3Wke\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChkTJo0CRIMABnB8rRD9N+pbaC1aId7XeN50HuGLRBMAIgXR1u+4PnNx+gegfWAcl9qKT/wLqTnkb6VqZ+c1LzVp4="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.0.1-rc.5959_1610700680800_0.43045354806712344"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.0":{"name":"ipfs-grpc-client","version":"0.1.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i typescript -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.6.0","ipfs-grpc-protocol":"^0.1.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^29.2.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"09f6f0cc98e2b8b2f1dacc69c9491555b507da28","_id":"ipfs-grpc-client@0.1.0","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-stpB0c9v2hNkDQ50IWITTGkEoBZtfkEhZrcNJTafJjd58TqpM4pC1p1UXiNMiKs0FNn7eO/x5oSvUFKhUB8gGQ==","shasum":"28f9c391133b2dd9ae040729be4b4db78040036f","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.1.0.tgz","fileCount":17,"unpackedSize":23819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAX+2CRA9TVsSAnZWagAAUK4P/jHi+kLoi5Bj9/0SDUKK\nr59Ni3lAkU34rP+wDojM6tZgzDKAu0bfe2jKOQvoJm6FcgdllwEDWM23E01x\n+alePiIx37dUwGiAn4zAX2fesR/NoQpcvKalcLdHLUB7tD4V9ND332OOcA3e\nH/suaupG+JTugImgl09qopwb4ttlidjXUig6Qmh65Rh8bcMnJqjgd4fLDRgK\n48sU1nKwdSppohcz00rXomQqxdZKU9peFr7AxoD0uh1lz1UoXjyvwUn9wgcp\nXPh4kr4tbp6NK2RykoPiEYfLmhin+nHtd2+UA4AZp0ljmEayv2/dy/XMcxvu\nWAPsX2oD4rekcnkHYWRhccPKRd8EasM3GtomHyuSp7Z0B3rLXd3kqqDp+qhl\nz3VLy0gpOpJdmHtBDAdwXHBS4itGM4oDgnhNoFA/8Hs4oQUx+QhchcpbJSZh\nPQVIrwJLKA5dds17nJiZN4bzL2FL021qINTloZkuw1mldFZG3M7vtMTCB68p\nxQBxb8tZtGi1sj6+MryxxyrBB00AmKcwk68ck48L035Kn4SYFd/wC6t4sZC4\nhzYltmJKz76fQPWhvqhcse1jIuUGarq5x0dFPYQGpM+WDv5FlmFIk5qy0JK9\nc8WyxHQ+Wy8mIrscOWPa279tHt37OoFf/aUvAeLBJaK0hEqQOcEQm6LZvSDg\nHhpB\r\n=E2dO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXqIYunV2Uw15fCuSeqfy8iG+0su6BaV5FrEKfeJQoYAiEAmZVGMdu7x7reFBj6Tf2/pmlNzFHiUrw6Gm3dCvTIO+w="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.1.0_1610710965905_0.28755911975034776"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.1":{"name":"ipfs-grpc-client","version":"0.1.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i typescript -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.6.0","ipfs-grpc-protocol":"^0.1.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^29.2.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"gitHead":"43d5bb0318cb840814841084c038f77562ba0d98","_id":"ipfs-grpc-client@0.1.1","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-Rx/YLz8gz/YauH/Stfub0KRhAHXxY2s7v0/35Orw5+H6tpdvy0E5diEG97hRgKRZp09FDIn1KxXw6Pi/9xNDVA==","shasum":"0ffa6e8c347020f86ace51f2ee7902e00f84afc0","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.1.1.tgz","fileCount":17,"unpackedSize":24800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB+CPCRA9TVsSAnZWagAAYi4P/386LfrhEJ/9PKlrlNhS\nkZI89D8Dj4GQc3x5YufTGpFXc8ipnxABX8JkIuNgtcTGSi8e/inWXBQV8HaS\nAMrmMtUyM4GOynyJRrnvBYrEAlbWKYpHclxjkUHr2fGvqRTjGDckZVkb6OU6\nQsAxnUWzdMVcqd/kVvXv/IqRNRwqSsZAwruTlOxv3MAn+9xQKrMizXZMrpab\naGZqj5YPcP+gFCwik5PifmnyDPvWgajGgl6jzwDAjv4kJ4QvP18rwqx6L/gx\n2KhVPAZFA1K9lsihPAGeBW9hiQ+LBkuvqdDEnPq9OhOfN+h156VA7+USob2o\nyL/xsFcPYei7gGPkOOpcmWHgsOef19UVpDlKgrQV+leejz0hVQyiME5U+ntL\nZYbM1wKjJgdip672mLc9qkHm4yha01kTybmT8BHxoT/VLU5D+YDjUaw4HWMd\n6mQqb53Uz8lKz48lMp+38R0SJ3kTuRGKVSwmDWZ3ZaVzAxQd/M5ErD+6wB68\nAlKMWZhxZNDmS74jBciIqGm56ARyup1vN+yqJ6pTZGeKcv7Pi7S+JsttG4oK\n1hBRIG4o/sF00UOjSeySGh91qtq4icnQ92dUGMmkKXuQ+gqmtW/L3kOFhm57\nsDbS2a1zRZa7KGJreLkCizFMSMM4q7ztTO1xwllf7vuSW4W6N518EdpoW0GZ\nGRI7\r\n=+gMa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiGx+i1PY0fwhavx9JWtRXhgPFmLbv8cD4p0A9XMnI6gIgPpRbzlA+9J9Tco4LefjPsKV7eoqkyMC5GhScx7F0HN0="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.1.1_1611128974890_0.7332972367026511"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.2":{"name":"ipfs-grpc-client","version":"0.1.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i typescript -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.6.1","ipfs-grpc-protocol":"^0.1.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^29.2.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"eslintConfig":{"extends":"ipfs"},"gitHead":"2f526025a3603026553b320e050e57e2ee564562","_id":"ipfs-grpc-client@0.1.2","_nodeVersion":"12.16.1","_npmVersion":"lerna/3.22.1/node@v12.16.1+x64 (darwin)","dist":{"integrity":"sha512-8smyzFlCzZmWrlRCZudYAxd4ZmkpYan9twg6EP3Oy+UUKSW9Ja3gf/A46E/gc4GNYLyQn41eQbuwixJFU93Kvw==","shasum":"e0fd5c8ede43f51083194f201d028d50c86ffc6a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.1.2.tgz","fileCount":17,"unpackedSize":25501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCr9ACRA9TVsSAnZWagAAAZsP/3j82ulvVW0v/JSq+cg1\n8Ny8iE3tLd93yC10c99cJbv1lkTsUFvffSKGvPyKNsHFS8Y2R/IbeGHG99NJ\n5sIn9Bih88JcRoo5hNkO/RrqRubgvos1OjRJE9EinxP7dWgf8P8EsUfT5d2v\nfzDsP0d/ISrQiRcPs4WfOP/sEqJwge+wjLxn5WDsXRmLRbzHI/BNosTkVA5K\nERsn1BuZ6OT1ug2e0Ad7FrSzevRlBdgNiDIpNrfYyLk5x9y/iLQoCZ3Uet/A\n/D2dCzHZi+iXne/ffcrcabJhPYr/dyjuh4QXnfWxSfynLrqs8sns5eqc7d43\nIQaDYgXTw11d4QfNx4imIBzKb8YibIpiMUIkixuFTG/hKO8vshZJyiIHUJKP\nL15NiJ+o5sHT2j3lHnonTI2jC1Am5bqIMVsFOY/9JCye9rJbqqxvUk5xM7eH\nCRWTKaZieWP+DATihH8mOINYvFy5eIUHZiFeuGLTLjf1m2tbATOtmpSchqMc\nQwx8ZP6MMOBfAhBsHjje3pjIq+2W11ST/+6wRNdJWiUHmObWPLD8ylHQlGoZ\nVzLXcBl7tKE1a0xP/rG12Vd2mSpi+WKdpTfsOHOZCaQruyrxKvEfbmukZ1Zy\npOikugyu2cRaTd+qvJXII2oXo10tcY5EW8kKMqANnAZyPSkOPvROh8YNpTWo\nLEvX\r\n=UM8S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuse7o3EtCtLU1BAzqFdKhMBaLSgBzY+CkHqGlFtD21wIgChlWa+cAf1eS3xNWOFvlaZTQWbj/WKLNc8xKET2wvM0="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.1.2_1611317055991_0.9232732320858497"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.1.3-rc.3":{"name":"ipfs-grpc-client","version":"0.1.3-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","build":"npm run build:js && npm run build:types","build:js":"aegir build","build:types":"tsc --build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i typescript -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.6.2-rc.3+6ae31055","ipfs-grpc-protocol":"^0.1.1-rc.13+6ae31055","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^29.2.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3","typescript":"4.0.x"},"eslintConfig":{"extends":"ipfs"},"gitHead":"6ae31055d21fbb0243bbb17cc697ebe18d84acff","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `createClient([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst createClient = require('ipfs-gprc-client')\n\nconst client = createClient({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.1.3-rc.3","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (linux)","dist":{"integrity":"sha512-N0AMJP1JVzjBTn4csAxtALp0by+M8hM4+OOuUd1Lmj0s9hBP0XpOFdT15NOqvObO0t09HRKZTUlm0yUQj1sNeQ==","shasum":"a144997921e88eee58e830696d60af0921f39540","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.1.3-rc.3.tgz","fileCount":17,"unpackedSize":25544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFRQmCRA9TVsSAnZWagAAdAUP+QCMqN+kcvMxi+ece1nt\n1zYzJ2M7OskXuSQeca7Y1JURVj5MqmTAYKWpfWgNTTjBksXFRHD0WpJ6WYf6\nueokQwJ6uoUsEChEkykdwAgcgFaIUb6ZKXl5RJd6AICu4lI6ifyPkHC98Kc6\n7OHfHvo4py45JJj3Srgb4w0AQJQCnjeAFdHVteibZploXCOTFFEnCzaxrLQG\nlayQk2k4RP21OPS23Vbm00O4egmqsmVc+e2XyVjxfwvE+kNoAXpwAyA7kOxk\nlXCbnSZPL/RHejMsqbRuVgNjOupiT1ejxVumd5Y1drgeJF/MbClIZJEjFfFD\nEhlzH5vhvOWilN8HxHlgwuuDZ/a3X7j3FjZa8UBPdve5hrndZJvJ9FRFv48n\nCYOyw4nCvyczIM2l7qbNbCgyck2e28MX8mKj67drde1BRfJjjRxAUmwhS8KZ\n2dFB5j5jts75pRA2siKPhJJyXigDAkT4xK9zY/Lq0CfSyraPFROaHTdNJm0p\njb9k4Tuk7bbUF5qw+P+U6EDDm0Jwr/gqxpKIfs4ubnWp5fIO/jkV3CZXeW8w\njv2BIPim84StasB5rVPBtEi2BYYasan3E6QOYA8PVBUCSM/4ajz1aGp3VH+X\n0eDTfiJW+guGRCVst2866U0vNPGXkRJ0eMyph6j7wncMY2L4iayFawfcZm2+\nGrxf\r\n=tUgA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAEwbzmzl1Mp1u75EwwshvIkaBG11oyggbfLtIgc+24LAiA4DJ5mjEs4zoeBhlbtBQxZ0xiaRZ7gfxkReY7QNAO7vg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.1.3-rc.3_1611994150260_0.7344902385698813"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.0":{"name":"ipfs-grpc-client","version":"0.2.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","prepare":"aegir build --no-bundle","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.7.0","ipfs-grpc-protocol":"^0.2.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^30.3.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"91df29245562d5e9ff653e09b54cd2390538e64a","_id":"ipfs-grpc-client@0.2.0","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (darwin)","dist":{"integrity":"sha512-vo4jK7x3Z950gzJPDZYWwDAOMXypgcQaZF+Jw13Tgs3S5XXySZ4DcMH2F1+LX88jeKy6L7UjVuFSHdkR+iSsNQ==","shasum":"4bba63ef497c5840bd66d5068bff3f7f73974ebe","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.0.tgz","fileCount":45,"unpackedSize":34227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgF+fOCRA9TVsSAnZWagAAN7MP/1wuQBj2IiCZnQq9Jwlr\n8nkrwS3L3jSzfA13m9ACr5/XQAzqz3Mf+YVb1R9i1gdDJgqRIhNIAvuOWwHj\nkIDRE1sf07dDoC8D6HNBhZlekJj/E5Of5laTIWOPnIXadLrn3gkrRIWdjBQh\nvquGhxcarwywtDsjj5xseDsWB5RUvvZXMDf1rcA0Pn4XQr4e6LnNo540JF+T\nRaLLjVbvsF+wnTI6dD0wB/PHUxVyZGs82YCL2fd5rND0DozkSw+RGYds4pxc\nkSgTIyFJxch7eYApkjYhD07rLp9Mt2sP16EkGNuJh4sIrdgQTPzULV4m8Gir\nRqXNzoDnmBrIwbyBScc1O2+1HNOjJRhnxFou2KHnh8o+MIVJuyMB8JMehiAA\nV7tEafYulYkiG1TuhCQyduWItpDu8STzp5gj2cHX9idqn7qTYkNhwnWk2q32\nh3o3IQQP5tNQQkAQazeuPuGfMmhPFEYs/A3O3Q3cVSVW9NcfVt/cQ6WSSSlQ\nqr6pY/gBykX/Q1cz57m/rryOuTIeevWeBYGWb0D0T/447PQ/QoCj3lG87fgk\nrCDUNpfwzpPRgeoXCa6dAHEK9U34C7ORhn+TVv1asr+Ah7pc7jj2O6zWmtnc\niV3B293V1hENEOEP3S8x0QdrxUQJ2VFjJorn+sVIFoSn47QKV6+nPy7L7zCN\n5Nv1\r\n=Go4E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0M0GF2ride660gGGN3c2t/6X6sTl2X9D4QXQeA0Qc/AiAiEdL/L+3FY96Cd6aaPErVCK8//nsA8RZx50jLThTj/Q=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.0_1612179406170_0.5398594493765139"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.1":{"name":"ipfs-grpc-client","version":"0.2.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","prepare":"aegir build --no-bundle","prepublishOnly":"aegir build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.7.0","ipfs-grpc-protocol":"^0.2.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^30.3.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"10fc290deca311263a4db95ec6b9e9ce132d6eb7","_id":"ipfs-grpc-client@0.2.1","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (darwin)","dist":{"integrity":"sha512-iYbdRy561W4d2r7hcJqb1TRtYLesSXGLR460c4dP+vVgUCkuSxY1fxnZi8zfh3wtGZOagzvHja9Sg0G23kF2Cg==","shasum":"a3a4185c76404b91a57f1245e5aad7fbecc9c0bc","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.1.tgz","fileCount":47,"unpackedSize":265906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGRYgCRA9TVsSAnZWagAAl6EP/2D0g6fP9zpILZIlYAd+\n5H5YIHp3TJdMJ8Dcadyj3pJFVYokP9jGwUuXnEV8ykbmbMu5cGkERDIVaodZ\nvQr4uiodBRCZzBHDZWUs5dioGSaNGPZL5ebpTS2w8mj8wPqGEFg5JSOPQrcM\nWrKnz2RutbqXRg0cKTwYaXSedKgVSbB2RHeF2i2+mJhJvgEJzHyDZxu7vbU0\n7/XzwhZ4r/4/4dlhWOZxTyDF9r6GsEyNBRhzJxxRdLi+Q+t1Cyz4POrMJeN8\nygYvzrTKcrlRL/hUiPp06VcwYh1mi4ekdwmFmZWyCBLf2IrSP1JG1L9UxMk5\nSbP1y2xyoYCEyZwn2xVLAfTPMt+bBefT4fIEpeueHn9ohe2PwKfHt1vTVRow\n3mifbCThRrUxwwvQUVCck0g6g8rSgoCLsTlMNbt6eMv4Wwwz54DQeswjS7qk\nDp3t+w12Bd2jBRaPmpmf6oDR4dFpvY7zfTay2kULc1gP6v4oIehbQKqlgD7w\ns4ieKE1E8Vd4tBLfJGLA4S2OnuIP+NR2S8vRfeWbBIJGUE19xgcMrUS/LVpB\nVqHS07oeiXe7djKy65tSTh9eQOMDYQA5IfjcGKep18p//ynRCoQHXpSJsa3N\n9ViQW+8Erp4h+q65vk5maAquUnpQeUYb7Wt0trphAbnEeh5+XiIlXGpgz4kq\nIeBh\r\n=O473\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwAQhf3knHiqvRuHKPneUavuDxgopBcumRCSU1VXOgaQIhANEjGtNjNNvDpaubuhGkyDX6PTpmHFt7RvdxF05J2TjI"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.1_1612256800348_0.5880469856935613"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.2":{"name":"ipfs-grpc-client","version":"0.2.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","prepare":"aegir build --no-bundle","prepublishOnly":"aegir build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.7.1","ipfs-grpc-protocol":"^0.2.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^30.3.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"ff76e7cda441d66d327e03e3ca1dea6e901ec918","_id":"ipfs-grpc-client@0.2.2","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (darwin)","dist":{"integrity":"sha512-D4VEPwBdLtrQ3rOka/US4JuHGW+M5YjTCWvRBZk5m9H54z2rj51FJTEfTxwzEJSyEcv+2I+ybN3V7j5+7gfC1A==","shasum":"6e0831c1a52a3ddc81dbeb2356bc0c2c07c04979","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.2.tgz","fileCount":47,"unpackedSize":261422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIVn8CRA9TVsSAnZWagAAG1sP/3CYk4GO5PfZvwq7Vo7y\nbLNupI4XTVVHb1+GAJY9HssLUKkLIk2uL/K3b2FvCwgbigOAl9Z95qdZ5bTu\ncB97KCnL+cNSwLx9IlD/Fi8LvG68lJZzVe8V3zjoinOcxn+rSdyI1ZlCA4p0\nvjunLmoUyBRXsTNwemTpbdKSt//SRbAc5LjD9v53k8JDc5TwT7W6Z8oIWkTl\nahiRmBD9pr0VdvCPiecsFJ/5KGXD4+l4YC9/DCHRgc4m8qB8wDkwEMuRW1/5\nYc/5Hjj68gdIzIAuycPudH2Sp7Gb59EJVyGID8QMsi/uLs7NEmV63VANqHI/\ns5E3KjSINoNdetQoF0TWuvsNoPpLVNZh4Iu1OvXK5HSxdi+xfX4KNvWJ7BcS\noGapJ4uw9DLy8qp0SA0fva3ZtxC9D8QpQBM5l5lR/guL3YgJz2mvo66RKU+X\nNxyhAfVARhBuBGImstLEw25cn2u3X2qWwquN6Ec33PZ8W27/gouxyWuFS8jn\n1fKV5stMJ2Y6XiwzYKNC1uazUouC3e3KfS8UdwikIJ/W2qeER3ycuUtGs1Jo\nGJOSCW3Bwz6uh7XUOrEXA2Q2XcZ2cqW18a0XrxUiucDkyoGwKL1ROi3N55la\nlM8AXu6evB6g0k3h9b0tvF2FH/kE+usZG8BMJAe7UYvgRwcW+ZG2yJkXhrSB\nEXnq\r\n=MKYN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIdHJ/PcCSzHOZDNL/QqcANfYET7B84AeBWdqM48GeTQIhANTEROF9txum4z33eevUQUXxEoX4uH0d7KUPaREg3Qss"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.2_1612798459700_0.4878109349821105"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.3-rc.4":{"name":"ipfs-grpc-client","version":"0.2.3-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","prepare":"aegir build --no-bundle","prepublishOnly":"aegir build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.7.2-rc.4+be0c613c","ipfs-grpc-protocol":"^0.2.1-rc.13+be0c613c","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^30.3.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"be0c613c0e413077bfccfde0345b1ff2471193c1","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `createClient([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst createClient = require('ipfs-gprc-client')\n\nconst client = createClient({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.3-rc.4","_nodeVersion":"14.15.5","_npmVersion":"lerna/3.22.1/node@v14.15.5+x64 (linux)","dist":{"integrity":"sha512-2G+cb0WahsE8qaxtwrRvuxM1SnwjWUcMrutdnf/UmlhUK445pHSE6N1DX46guDtgHFqyiLhf3tEJiFphgV7g+A==","shasum":"c666dc4fe5a65d3442139f1a6fa0bf384a307313","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.3-rc.4.tgz","fileCount":47,"unpackedSize":262322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMiTsCRA9TVsSAnZWagAA2XIP/1sA+r0Fd+HohaS/t/Wo\nkmuMYsFoHXep+uhJVnu9HVMxHY+/4UkvwVPuulWdsKRxfY59f640BAks/imF\nebRgG1uXiaN+4Kx8chybLjwjHx0pCXj+8AnE3OY9BWlZmnvBShsthR285AEa\nKHX4R4qC+arBhQGLkoFzs+N2R/IuQrF5omAuAhlEBlM2dhul5lSEIbYhPYSR\nhbU/z0YcpHRvqFgn60HnwW78MpH5k4OVjXMgxbzBD0ymzyGOv8u7AyEb/8Wt\nUvr0yB5RqdOd7LENG42hBOoocmcNvKXFmUj7dSMa0iE5s5gnFlYCY/mE52ja\n42ba3R8psXmX7u1OiCq1cKWK0D0Uukv4Z5dOhYCziJY+XPJmHL1gn5tZTCrO\nA+MBPLq9cq/+f0FrBRKUat1TNtZGZiWlq+QCd/okg7YPV5BonY1yub5bMxvt\nplhSYTbmSzlHZ7S+6wDjRIjWuuD9JMx7GRvXX9axkaYVQy7cQblBQ62eRYj7\nhDSDncpDvt/mGvmlcrQpZwTOL9KlnSoh/Q3unbQxrbawiORFNHYggFy74+Bj\nl/oGQtQv6flvPxQj33HVbSrlAJzaf9UTMQtQ4bEB3OpFQkWKmmSHhd202qx2\neg2hib/dBXp3sjJCPJONnrF64Gk5oqX8whEQeVsTJESTffZx6gfg4jdrN2sx\nO/rf\r\n=1PqB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDzFQ4K1rfuhPGh+KyIwdsEaSxK+8AyKCo/J+W+J12UwIhALXtdxk9kEedlWHMJ83QAvIIevwZSkZUp7jgcF1S2px8"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.3-rc.4_1613898987898_0.2510464044475862"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.3-rc.5":{"name":"ipfs-grpc-client","version":"0.2.3-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"test":"aegir test","lint":"aegir lint","prepare":"aegir build --no-bundle","prepublishOnly":"aegir build","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.7.2-rc.5+b7659d45","ipfs-grpc-protocol":"^0.2.1-rc.14+b7659d45","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^30.3.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"b7659d4544fbf335eb5dcd3b71fc1b81f436088c","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `createClient([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst createClient = require('ipfs-gprc-client')\n\nconst client = createClient({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.3-rc.5","_nodeVersion":"14.15.5","_npmVersion":"lerna/3.22.1/node@v14.15.5+x64 (linux)","dist":{"integrity":"sha512-ytkM94uR3RxkTy+AgLXX6myESfBYXHtY/H2RKnQY4C5MB6pwDoqPBKlXgAuz7iyo4ClRScY87zuDeQy9jdBfWA==","shasum":"f9d65651cf46b32f290d763407918af96089f2b7","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.3-rc.5.tgz","fileCount":47,"unpackedSize":262322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM97ZCRA9TVsSAnZWagAAt9wP/249iPsJl0GNF9e8tXrt\nq+ig8rh1YS74kf+7mVnHoaRQ28hwYMbYHeZh7e6yP3sQ8+FzeKJznK900cAg\neWb21z3VvRsqrIMXxCYBnx6q1qsJidwa/59RyVyj0HUL7d0dSFwjrM+LuBnL\niOHSraKK/upQ7MHNM6xDcVmCnCsKa1eDDuIPa9WGJehdasP/1VefMBahnXrJ\nT4XMoecPk3nW8EvZ4BcHRNdRr7AkwJdSpO1iwLIBgGcWU4yNPJrYH33jeR0y\nL4LTa1nfSbdjhDU3rDPYHVUckJojrvGVzEg3LZ5yfF0YE0baH2w9dTNTeSk/\nGvzvrPQR4D2hap5IfYt4ZmLF8e8lGYKRYHXYW7nburItUqB3R8QJ3e+1vn9+\n0a5Oda4NXBRgJ12aq+3VqN9L/XfC1+s8jaVUcwNqlrqVwLCzFw4ZBeVQKDNu\nVufuT2k2rHXiErDTLkLsnoyphJo17RVvhpTg3vizzOsCigH7OIdKUfKlLsvR\n7K5oInTgfzSzgWUoMgZP5UsHQbDUIcQ7WYWi840DogawonB0a5d7VpwaR+S6\nYcjYJb9rXCe1zzWBjOvrtQ4HW9oMw5NZVHk07QezWftP3ez3Fqy+IIvWhebE\nOh7j4n9FTTOSKLp8Y15gSRHh22Zlpvs32+8A83IxDojDa2FV1D4F0T/zVsIG\n/5J9\r\n=zCWR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFKAg8BiAmpgX0NAcdj+a/BxAAbbysyKxXEUBYKpz7adAiEAnNMS9zXPGv8/Yuq1jsSNyod0HvSASx+jHFX5EfeeSwY="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.3-rc.5_1614012120465_0.312402123902328"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.3":{"name":"ipfs-grpc-client","version":"0.2.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"prepare":"aegir build --no-bundle","build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.7.2","ipfs-grpc-protocol":"^0.2.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^31.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"0af3b76115fce61d64f0f8be90cf13263d2a12fc","_id":"ipfs-grpc-client@0.2.3","_nodeVersion":"15.11.0","_npmVersion":"lerna/3.22.1/node@v15.11.0+x64 (darwin)","dist":{"integrity":"sha512-HhZ9SM3Gsnue20yrwEEV0BOhvj/K6AefKbCrn/r57RgXLv+eVyVLRqCn+bqbdh34TB0dhPmhsMvgQ4Y4F/f/Qg==","shasum":"a2ec32149cd71aa92e70b7316ac23ebe37f5f169","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.3.tgz","fileCount":45,"unpackedSize":34912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR1JKCRA9TVsSAnZWagAAV4IQAJa0MAdhlPuCzDtS0qCJ\ncQ/jdmfBl6RE8jJlXK6KJizgC6GQQguId3FlEToo41HbaVeqPoHketmeJKAj\nev0TKAx5gda+yTHMXk7wjHmCVuF1Nyt324pR+HSM9jdrrYeRWR3nqQDi088n\ndz1izuITfW/NBT3Gm6Q5ix9orf7EjYXRyH1L5tU6741j6kQluxVPeRyaXaSE\n3OermRtfKzlA2TQgaIrAdD4pA3sq1lKS89m1QhACENwbJPPgv0tJH5wxdIpi\n/Fr9cUfxd1CzlC5DIDYj9iVODW6HRYPdjUR3yjYPqQYHQi3vJzsD+5Maz3PP\n70n3zBtOocXwuw/eoRGknnfPhEb2d8FA8PEQTqwGdr97kO5ZN3efk6d/Ck28\nBLLUfAWOMET86dPxeMKZQH5Sx/7W2OHeo0SxciKnfBYrSavuMHcKXQdYFP/q\n6Aj0UR1WkG0ApaikPO06sWKjFmW0mQ12p3v8VEgZzgrbeoxyU6PUavAw2+aS\nVrtLZDjN/M9iFOLljfnXYWUwRHYQYbYcBaFPfAxIAhVp4dKCxnf0xwcXmwDL\nqivrKTbgJps4CCTcQpyQopYF8Or9W0pIoZqkkMfmOZNkVgTKokQBmaVsJ/zN\nIPPnowKsODYl29x+3kGRvI3UAiwAdi8noDadMvBpSB8cZkVvlG0HMCfZRaDg\n0Ufn\r\n=/gXX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA4NmoCQyBYOatF62ilY2rUyK9IGNE5vTb80AMjilRSbAiBOcBPM5JdcJIIEhuWxfAB7wvRoKV1f/V5by+tu/hr1Cw=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.3_1615286858235_0.9360891772468753"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.4":{"name":"ipfs-grpc-client","version":"0.2.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"prepare":"npm run build","build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.7.2","ipfs-grpc-protocol":"^0.2.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^31.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"511147bedd51be3151de44a90fefe9425bfbcd50","_id":"ipfs-grpc-client@0.2.4","_nodeVersion":"14.15.4","_npmVersion":"lerna/3.22.1/node@v14.15.4+x64 (darwin)","dist":{"integrity":"sha512-1pD1ekQ7NbqhDpnjPz2S1YfiWno4o7GoqzVIKYo/AbtCObXDtIzZOijV3TJ0kvWrK5ZA7bYqxTjnunYMl8eqNQ==","shasum":"b4403b7df8818a333036d538abf95a40c80928fc","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.4.tgz","fileCount":46,"unpackedSize":200897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSKnICRA9TVsSAnZWagAAF+0P/1a28ZaUNN5DtyuVoCwZ\nrBjkA9kFhdXXE1flL109a1VT6d3PU2smim1Vt7Y8F8tK4uEyTn67qx6YA3pV\nvhZEv9TxIOBkiwPm3dyGYFo7G+Z3oJfCERCe/8f1VokMOBFZ+abS5acdvFL5\nXKot7REHBTDc1U4Uy7wEjD9S3iWX+3bKtFvAsrosCSflHJ74cZDVqCvlEWm8\n3N8jXXSwERvzR43LdXp+xHfQlOyr+UOe/PjKsHfeNAi3DGibzR5RzoM0wZDG\nozHFZ8U9proNtv+jggyVZDa8Yi9QVrTDgtTB215VzB1JdtJu0lNSmDvxWnvg\nmuNFK6yrYXEPejAJfOw6UwRQ4+/y7KARBMJaJDvHpKQltQvYSLpTSuz1HMye\nk09bJ4nf5rfoBzXmvYLy4UHdooWHPIdhqoFr1I1pxgcvnGY2oHEQ2Nu5BKhT\n4eie4ICmIqPM0maPDo8Fw4wo6QlQcjugIlNyhD9dcyiEtf/8HhXxRqMNIWqN\nf7w51eEUAQ7FSmisQEVcngCvAeS1kTM7tL3yvyaHiaf2LEbjZhM/X9Eypvwz\nkxcbknXLznaUKpgoz+2V64x6xrITy6NF7FySKpTn6l41orfjIPWsTt4hFuLH\nP8tHf9uYv4WqQXsaj4Tk/qwc/vekPMvql1Wli6h20LrwQz1tdf8Ye8EKISGl\npSiK\r\n=eIpe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDOtRze6o5aR/yIK91w3jvYIU1pimPKlX8ilsXYzOTm3AiEAwN1AgQWe6BAFd/Z8ZIy9LYx4UfsNe8gz7C0teqpT3GE="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.4_1615374792132_0.809804106263935"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.3":{"name":"ipfs-grpc-client","version":"0.2.5-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.6+1823375a","ipfs-core-utils":"^0.7.3-rc.6+1823375a","ipfs-grpc-protocol":"^0.2.1-rc.26+1823375a","ipfs-unixfs":"^4.0.1","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^32.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"1823375a17ee2562f06accdd605eeefebf7a3922","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.3","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (linux)","dist":{"integrity":"sha512-+isxXkRSj1V/y6w0G3Xxb9DsBbQimjOCVKcP4V13e5sxV5drSy1PpGvW+Xq0CTyAQbqBVA+0BPfKS1rKj8dlfg==","shasum":"a190b86875d300cfc78288517a14d3b720f6ad97","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.3.tgz","fileCount":48,"unpackedSize":320887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZJJECRA9TVsSAnZWagAAcRwP/2Hewd3fX94ZZPXm1VIU\nqRDgWZCn9FlJBA7VbnOoysnD3fLH6dM9LGHpmKTKWJrz0s+9lLOrxa1eZWas\nMTKilhvvMlokLecvzZBZ4JkBE9CHm137w9zprYooFWbKa4Hpb8US4tJV/EWQ\nF/2Clh/1d38tnubEYdgqEbOSyMOZtWV9frC5qE45JxhqiS1d4Zk4bZVnIybj\nWIOGiFP0lkiKVkUzLTxScQRlKxInKP5IBqsS2029zLWHO93g6WEltzY6a4qH\nKLyP1aiPXQ2SxJS2OrAQNGJuhBz8b4B2hty5LqwHDgBBmSbVJPd6I7Kl87Hs\nrBZcoTbZ4maF7rDyJjjQayhzKbnd9+1QN1KXjqsshTR6iNx1H70wwPfp+9zg\n6FKYCVZudD0glw+iXFWiEfxNDc3OIlCSjUXErgl4wpoKsaoFEu6YC5huX9qu\n/+1kPVKj0URrhM1UOn74QFGXENJJX2ctLOR6FG/ZgvyxRlb9JhQhN+kSzQ6g\nPKLHJLR+MXkr9UCmXzaSgWDodHseElwQdTTAznxgSLrPCk/Y2kAn4cWqicdF\nZjgorVKlI+STbdRTSNQBbyf1EhHZzTH1LhAO20GIbPKmyvJoLhGls3LaI+d2\n2SeO9VLY9tiQFhixRXpqCLrFKXFiooe5yJ77raYkb1rRg70f0BnggnzyEtNJ\nJ8qh\r\n=bSs9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCs5pkXgKyPNdtJk2CTw1tlf5uDwrzeo8izXXVtEiHSXwIhAMGpHX9INlYHYqnUb1tcZ6x7tqt0yA5mks5dwwbsS+mx"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.3_1617203780345_0.847107324967117"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.11":{"name":"ipfs-grpc-client","version":"0.2.5-rc.11","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.14+e7de593c","ipfs-core-utils":"^0.7.3-rc.14+e7de593c","ipfs-grpc-protocol":"^0.2.1-rc.34+e7de593c","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"e7de593c9fb74bbb82731c9ed41ec5204b18b1f4","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.11","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-gJaXZnFJ9dISwVJjYa7BPeF3xU6a89vE2thtlfv4hhPIyWQ12IvybCGiQn6JcZFtK7gVuHKHU2e/pfME5yBcuQ==","shasum":"0180d9899e79a6d91fb4e44a19c3a4472c0f3096","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.11.tgz","fileCount":48,"unpackedSize":292684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiVIbCRA9TVsSAnZWagAA0mkQAJlbUOBN7TBptBGaKN//\naOb6fzpvwFXiuS+5N2oKqAJFPh8aE56I2bZ+CHpjRgiPP0CLSHTnC4k1x2ed\ngK28eRPwXKDfZ5C1nTi46OzBAmtJIw7w1Te4+6GOioTVC42UhyxuPIk4RF+R\nTiaIl1IEqLJzDQ9TmZpz/qoW67O96qQjvp31yL5zQ2g4ttuFHwgi3SPOokMx\nn535di7ESdAVawVryn45Q4zqs0fzEm7ONH3MJo/Y04YxSIFmvpcb5KgqLR0b\nSOEIPIVk9/MidKmAgTgwnkjKmP4muOY8BOEria9myFiZlT1SdEDVvJLLfim2\nEYT4UAIwMyokbdaobKD9qJcLZ/Nr1etFj5kwHhg1XMpUDG/m4lShWVs5ktOs\n52NQ7bF+jr/9CBtXaAd7JYnmdCrZQy7aY5qkDv+0Z8fLA4hOHrxSUek07hgi\n1qqll5cmYte6s+dNryxrVSSXjB1k7YMPa0hpw7XHug3gXzo/l1/QrTc61xDz\nSYlRPosO/mECBqiv8wg2QlYZMRN5KaimNcFGAde/Ag92ZJ4VrN/ilM7eycDM\nR/HGOb6VR4plZc/RFu65/z0zZDfIgXC8DqHJw1MLVl4/hLM53cm/Lu0VYDnb\nGGX1fOoXf3zuWznBqwS89bAP36Jcu5viNLQQmTFoPN3RBW7I1qinQsyhPMp4\ns6+/\r\n=vjkh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFAUw5nBWJ94Fcuo50A5Zt1cbJxpyFNJ0a2lYfUpeFoTAiBod1xPOJafDcZSXaEmelhvKaIm6NYxS9A+pH7UjsLcHQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.11_1619612186586_0.20528731443943826"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.14":{"name":"ipfs-grpc-client","version":"0.2.5-rc.14","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.17+12915f70","ipfs-core-utils":"^0.7.3-rc.17+12915f70","ipfs-grpc-protocol":"^0.2.1-rc.37+12915f70","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"12915f708057c54a08ed0b1f6c417eee8d65ad44","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.14","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-0E/W5NdcoV5m9vbwGqvAifk75x6JDISIi+o2l0GJ0iCtOotcflXUSKE3Xe7VyAqwa2cAjHxP1bi49ehcbCUoYA==","shasum":"5582c9440d076679f6bdaced38e0cf2fa2b9f846","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.14.tgz","fileCount":48,"unpackedSize":292684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiZefCRA9TVsSAnZWagAAoEYP/1zQJWKVY4C6NriyHHhQ\nhocW9aUw51g+dh1+hf8PsQLZS1MGSasQl71o2t6rbr/xBX4xmc7VAyfb2JGS\njN8HcvnEAKnuuK0Anq9AErfUs2Z8YLXC4T0jw7h5RvpGIZTGIvvxiuLRPugh\nOKFh8O531kracMakG5Gbri72J1UUTCD8UYGp0zWXFCclaz0p2KwrPWR5BWIN\nTalMTMU71eGZ+LRooaBsys5WDk7cx3bzwswtLfwIkUBuqtOKqNq8oGnjSIIZ\nmrVbQTCdwRrTAaizPorjcUU3bU6HKi2UXwUoAPuetsjAyKfM/gOJbDVxJGXS\n/A3PzWCZGYC1NNVxndqZ9/Rql3e8ShSCNwKeSEzNSuMSZp+Sxx6ztg51ekG2\nQKN5LJ4rrIMXPbntK0+z2nuVVmEMckL5NMHF/F6g6s1o27WXVOcI2NjTRxiy\nLHTZr/1qFY3y1l96VDJELB2TP2sPKSRHs8Jo2Xg1fb9NqNXbdPBhiREQVmJj\n1rsb6XEB9k0+H1lFK80LINQO220mB+ZIE7RLdH1idAP6KEewKneYweUQufxT\nVDEYe6qK/8YA7oFaUz5qpK4M0nYtobgGHWDZcTRin1GXi+bhd90eMfFpc2OV\nvin1pKmOMzkQ0zrIGJD039uV9qBvnebNBrCJ16N/rZrkT+L2Le2o58ifo/a+\n+wKn\r\n=GmCd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8wjeNaYKlLBHcGJ7IOfczGpLLzBV0gGj8BnfwxA49TAiEA+u0Bhds5fPWlLx3/n+UDGx63ApKDKTPJa4rfY9NXb1o="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.14_1619629982703_0.7829999528744955"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.17":{"name":"ipfs-grpc-client","version":"0.2.5-rc.17","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.20+99bde7a1","ipfs-core-utils":"^0.7.3-rc.20+99bde7a1","ipfs-grpc-protocol":"^0.2.1-rc.40+99bde7a1","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"99bde7a194e5918933e589d685dec222b083ac42","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.17","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-4UdZ6f8RHaJ372bwSCYD04UPlCZPEvp9b2e/PAyV3Ygo/7IldHRV5cidZHSGgL4PEjcPcAwZnD6gf7MKpK7EWA==","shasum":"fce1b4b7f528bffab44fa7b44c753afac2562f6f","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.17.tgz","fileCount":48,"unpackedSize":292784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiuVHCRA9TVsSAnZWagAAdcsP/2pa9zgjZBWzYoaL78/4\nmgi7lHBPHA//arwcDNPfITHHMNd7/fVAoVR6KFTyNMaSORvIv7EIsfCN387/\nS7frcuPvF0nZiySrYc6A76WkSj1z/dFpA8u3yby135rTSMOgtxn5soXTATzl\nuUd1riT3agYB9aV4YpOYRIy+bA4iOZn5pPx/xMUcfK9nH3m/MqY+XmSsY6nz\nLkLRu3OJwcU2GXDF9fXfVlWywoxiQIYtAy9ikPgE2NYfrilcc6bYUw49ubrX\nxpQP8Fm0Joriz4+o94kid4ZoPIvlXzsSPNnoFwEZgNRjC/mx2m8fZTs/MMh9\nfsfxvKhICEOCYfqvbkT0VsBytUiWPbSk+6Pg9ebU+9Xt4zKpKpJ2Sjl/VQiO\nqcUyilCkniJXnD8MQc0Z51IZEEWnc7OZqm0YYHebmAvEjTtSMuF8xhR5GekD\n771oiRpiPML1m6v4brtJd/CXrDmqNqKhqo53Zm14cstbv9dLis/5/exXqj8w\nKJnkhmREZVn/WS8Ucl61uHFL3yjCJC0YCB0Zvkjekvtug3ybv2rCy4xf+JaD\nnYloH3+kG2HBWG5GfXodMi1mt3D/bm2k8w2nA0wVtO9hdZqCLAKrOuwkiiLF\nehY+XqYazkeGtfYJi74gRycuzsu6SKQMFpMSFT7g+VkUzmMdQPo/tJhCg5mW\nrhB2\r\n=Rmzz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/rmhRvFMG7DqixzWMPoFqj7ffjBfVyCg3Mo42qXznmQIhAOsqS6SMOJ/NG/xgtktg44hZyRfX025Ikv+6NM2iL5bv"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.17_1619715399081_0.5823198259787592"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.18":{"name":"ipfs-grpc-client","version":"0.2.5-rc.18","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.21+2ec15c08","ipfs-core-utils":"^0.7.3-rc.21+2ec15c08","ipfs-grpc-protocol":"^0.2.1-rc.41+2ec15c08","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"2ec15c083eef923096b30dd927801331e97b4f5a","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.18","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-Q+jJowbKsUhq7WssR/vtbsKyg74/frckeAxYvU1QWCP1ah1AE0ek19pKSpZVlvdpm/MbsJREyWmRLt9lvM7q2Q==","shasum":"5ce11868899c7d5cf853d814e3de715c443dfbd7","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.18.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi8zXCRA9TVsSAnZWagAAZU4P/R+lbP6LTkqi/b62V+qr\nzoxp59C2b3hXy2uuwmVwB9Kl2Thivv8druTah70QfYAPl4vjpRgrXAkGyWFC\nEDecE9BHbokjHMujNuOQ73GyPRKghNv708NhvbVjSmdPGYAJv4n8Cqk4xLgZ\nWaNkpjAZ0Ul0ajBee3uHv8ahAKVoCYq3A1AjlUj9k+3mbLLA1KXmsFhwBvl5\nQF/NFvgmTukL8ByVJeIXkVs8ymAgy9fznn1obIeRl5HKveBziOJwO18bX4VY\n5WqOE2nPEE8sNPBZl2W0mst2SBxxQfAo/WhuhOrpoAhuKI2nL+SrODB3nF/N\nABJA9qW/DCJCiRFKVFFGySP0YMkIqKDOcgXBM2G9cIOzetIcAY148p3WQl5n\nEurz/Fy+Vvt7+Tf7uCi2QHP4Y9bEv1UvVWZeopKg9BdhDopzjSS+4W/cO6EG\njed+hEqmd4tEasGxqB2HpTnXwPlRL+5zXlC7f5/i3pDPirUJROqOYwz0cJUt\nWoS81xnEtEK4MoR5ymVC2v+vrqVKGiPqUpGi+NhZ0J4Jp3FNO+AAPNuVJ/Ad\n8UmicX4pwkMJgQMj95NDUtMgF1DC9hKCOkgL/MXzWKxDx0lqU4Sv5xUZMdwm\nDeZPXRgMsplPfcpO4WZeFWyZ01d7RowA7pPp0Dr2y1y/Qoh/W41auQ1PmqvL\nvWZA\r\n=FVXR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFjrs3Q1YHAi1/l8PILQea5x4w9m+tgzUlDKrsC+KuoXAiANFA5ej0/fWd8OngafB7mOZ68Gd0nnfh/K3s66nhSvMA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.18_1619774678903_0.1465720827640975"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.19":{"name":"ipfs-grpc-client","version":"0.2.5-rc.19","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.22+188f1f39","ipfs-core-utils":"^0.7.3-rc.22+188f1f39","ipfs-grpc-protocol":"^0.2.1-rc.42+188f1f39","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"188f1f3930ce2dcea5a4fd6b6b1cf413ca04a736","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.19","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-t+4hSqKAWHyCffcbArBEYoq8/7hT+43I2E5UGlYUDeBGq6hg5GpsnPAm9uX0DjfR/87by6uHozB3o56V6p2ZIg==","shasum":"7309eb1735a18e87af0b38d4ba7f1711c33c10fe","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.19.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjDi6CRA9TVsSAnZWagAADaEP/iTmcTKjHBOebhNWiOWk\ngG0CleXcIkeF9v8nhsO4yDKgQvu3IT1ikhkFeDcM95EdgITutnJnIZ6SSr5K\nX7l8AfOMRY3GvjtpPoylpU++Qlb5RL1bXkzCrNnuNOm9XYZNl34hWH0Hgw5V\n9mqpaOUv9fY3+hy3qJOyu1TkFyFl1LdX5g2RAjwZZt9b5ZV9twHEDVs5B2X6\nRcrueBClPCPw3HpQH98kfsd0MDj7fIwVDWzJXJVbyk+WcNHbz7vAx7O5ieyc\n2NXdqS91bFQq86xNsi3OfwhbQFE/ocis0EXAIHPwNZ8F5XuOL87+C3Wz/0ne\ngs8/a+BaxIvYceyKMXiuVeH/I/h+6z/2AS0DNNk8jRlmCG7JbvUUJG80UNLB\nqALiDrtXM3HnRWGh7E+fugDs/LquNZTH6tvyol2Uc48/VYi4GaTue831XcPo\nOV4SO3ylm6+NxMxO9ikzjLbl0GDK1ThtxdNcPh8OkRGvkhj1q+ewqEFbxktx\n9eZcY7y8sTZCQi63dh5CKpB55O0YPOMfxGM9h+5CcqTP2JHkVlcZiXwB4lLf\nrkMrnps1WYpXdVD9cSw3EN2yRnEdtuy6PoVThjkN7D9jvSSZK7vKmc6Z3oXg\nE3oQBIFxPwfZyQ+T2zm8do03VPoRHN0m8og+yEAp8ZVO0GAheSNUcmStxuUo\nmf22\r\n=OUZ7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHHzovoDkRQr3b0USbLGvmRTzHxJukLb9y8kPzzg2PnyAiAYszXgohOOdmYiywX0FwWRD+PxMtlmY+JA1eXoRHFO2A=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.19_1619802297620_0.9086783228329474"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.20":{"name":"ipfs-grpc-client","version":"0.2.5-rc.20","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.23+1a447f89","ipfs-core-utils":"^0.7.3-rc.23+1a447f89","ipfs-grpc-protocol":"^0.2.1-rc.43+1a447f89","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"1a447f893072d482d5a7ad148f9232dd43f64cad","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.20","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-5t9bJT+eefK4RR/VIdmlmLMi95b0TYEvoSf2agcf0Gew6E8mwz6tRFpUSvFbHMUE0jhtDZslEmadiTNa1/iPlw==","shasum":"df62b00e64cba302599de840d3ed0a0a2d5ba767","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.20.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjZV7CRA9TVsSAnZWagAATO8QAJPmKtSyO+8ZVMBblGnm\nLYKj8YYrrgV5u1gwx0Z2g/NvTpKbC9EufwhOB6EQbj4CN0DqxxWLNioXI2v4\njB8zeX75xsqbaMQtICXplOsd5aCSie/UUSKrxb93OvZLyZmZdeIzeqIFKfHO\nDs3wZ5Fi3OLKAKkz6FRoqd/GdeFaK7U+tQDShv+2UKYfVXpIOJFn2m0X8fJO\nK+NrfSLTBnNRN8Y1GR5dynP8+w1LGx1l25AsbjX7aea9ADX4l1DNRzBhydSl\nKky9zgR7JIQ8sp2SY84bxFTkO9zkhwIUVSlVUVs2mmC152eJbgznsuyfE24A\nbQcREm9iDpiwZt4sF5yai91brG4BrlY5eQPPKEZJ6DRM8y0nBgCGNIpUBsKi\nZ2+yXuDgwY7jDUJ4KyTHprKpBWakkRbpheU0TqTAB53roLbAQnidAi0MDNV0\n2YNCw1tjFVtrZPVY1eEtgCYKybFJ3eHcPPDaiyiwSTDnLkZ1UFevGEGxjZJc\nVcynxmsXTkK6/bjYk8VimLXEmkp1BElQcsS3kYWko0GCeCifTEH/DpjQDe9C\nl1aBMRYDsGVOPzMBllmH2VHliaGP8baRYMDYaL9Pm3wlw3kSKK6ePLu3EaU8\naZkZhOHYuRQibkzj4IdA8u+zI1ugqII38Lo7vUnjOpwnD8kzA23V8COi8V7U\nmsoC\r\n=xavs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvD56qdFXkOHvbEx8wKx45cjmbR+CeDl1rlV8tFkNpbgIgCzuscdR/Z/AiRvVsFfKvvJorg+EyT0r0WrI//ovXndg="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.20_1619891578662_0.09170435902663265"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.21":{"name":"ipfs-grpc-client","version":"0.2.5-rc.21","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.24+21b70a1a","ipfs-core-utils":"^0.7.3-rc.24+21b70a1a","ipfs-grpc-protocol":"^0.2.1-rc.44+21b70a1a","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"21b70a1ac38d53265daa52d8c0eef12d4e3255f8","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.21","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-hIxNkV7AJk5HVd4aI6VqoIj3DECYTF+54vAW3SA5u6GDiMIdozwUTZyFCibe6rmySjrTb7gWqdzORi/qUa1BIw==","shasum":"b60d2a2e8122ca3f54721971b9ab43fd7a153064","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.21.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjmo4CRA9TVsSAnZWagAAaS8QAKHoF04xc2Vs8vZx49Ab\nqsvirI3BNE4u25RySfAznHP596yYC4F+TEA1fCCSEd8KQpzfJoLytNQQaso7\nZaxv9CxKbnLPCTQK0N5mvKZglUe6d8fLvKPsJKvw5Bm50uSfSwvzQK/vKWam\n9bMKvkz6t6lLtg6CANIkVrQ4b8Ack4QZrfiGotLD0Gkiqk4rWAfxh1Ocoqeg\nPXyVGz05+3pdk61WCDQOXmJFA85m5LPWZbL/Da3ha9MKxeSO0y9uIOG264ss\ndzHdYmgSuTjwiwPEHOQXc5re+atONyxq8RwQiH37PyRFJPgnnxPs64UwSwmR\nXy7RCXMEDoOaDz2UlKZzcW105p4jGos42IT4H6LL6neAg3mNGRHiRa4078pG\ni3OdV1C5gtDienT4MEakhM4Vgzq7Uc5l8FwHHcgvpfiHBGiDsGMf37W+jZpU\nahKEqDOOmP3Y/TF46Av62B0mhYEXMwRZGI7kCuIzfHpvJskJ4Um0Y9cRe2+c\n8/3ggmtW726raG+6NBnssPFlbWt6KriIrbSiXW0AtotN8rWGm5BcQeMHVYRN\niOObkynl6hrSyaQ9wpbHKtUSTEyEu81yjviialI3LaRw1D0hptSiRlRS1GAF\nqJewOeRUDyLenqpQ6CXo3Yjpq7lA2VWm5N5q7L+EC//eQvYH8FLhP9d+a7AY\nlhYj\r\n=TFrW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCP63HMoPGCLKQ0Bd4i2DZfmuu+iEcqERKLVgvKE39VlwIgHlcn313uvk/GJr36f2Dga7MpF9QTe5jVoaoTImSk3ns="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.21_1619946040048_0.805706485080568"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.22":{"name":"ipfs-grpc-client","version":"0.2.5-rc.22","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.25+0a4fbb4f","ipfs-core-utils":"^0.7.3-rc.25+0a4fbb4f","ipfs-grpc-protocol":"^0.2.1-rc.45+0a4fbb4f","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"0a4fbb4fa20b17d80b75fc57be49fc8cd7c14877","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.22","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-73ZA8684I10d7ZCWwuGVyz8/C4hX0VcZjy+W8H2lbfbVQHGjkrjVEWnSLyugUeoBuzDY9IpMNYidG/EI7o1/uw==","shasum":"41a1ad59a099ccbcc01a3d2ae6863eb538bf79f7","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.22.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkPuKCRA9TVsSAnZWagAAevwP/ieaDchPuBKs4QMcU5Oi\nMqmS+M6AsKM0b4VEGngpn3Lc70ftY2pJQ3SHXQDtl490SMhXNrS6H48jrKJl\nLyvGrz+MouWCOASpPHpw20Ev+sE2ksWieWGlmBeLYdcy2xZWsBJQCnXCmoMN\nAdLXeY6cA02w5pv0CDLYdZYetp3ti0vHWbnMdfefN1gpn7oybycrSXYQ4al3\nrKn2uHJg5kWJEWRuFKGovaMUbVxcN0L5TVfMTUFH0aM06XtYpsWqSrrNBF9t\nHPSTPNd/AcxBLGXvTHczE9EcHCVvGWQ2W+CJSj6YwSllTc/cEGfOpP8c0GdN\n56qT3mhgz9wqaoqKJFjdhg/33tFf0LcvAqVHJ43K8eO2CZ6v50nMVMV+hK+i\ni1MyFXQK6htoqftV4JQwjK/zUhFAV+qQQsDMqKWVDEvcARtZjTyh406tjqO+\nXO1lvJjgWTCnNdROec7zsCO40Lyq15kJsUy2RU0jaRUjkbWCF2d9Fg2xtKIc\nF4ON6LM4upJ4rzTsbJRFM+cROlxPQttXiwr1ZwvsauLc6EqCMBgsXCfHn6Og\n6ZuxrfwfQDusZ50dP9gZKKVzcI3g72wm/je02iBMw2RPVTcgO/MMMhIadwQL\nESXJvgCdffRBoJwjC68g8aOEV9iMwmBrT6iL7+TjhucL2i0c7DKAMtglCSBD\nXRlM\r\n=jUUi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsFmWVba9APe8krQAltBYcDvYRdveOyXh5yUn66tz+BwIhALHYA8IgnnKlupR9ypBgENYtV8VcaxkOutwd6A24pcd0"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.22_1620114313458_0.3698300875051681"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.24":{"name":"ipfs-grpc-client","version":"0.2.5-rc.24","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.27+a297e8e4","ipfs-core-utils":"^0.7.3-rc.27+a297e8e4","ipfs-grpc-protocol":"^0.2.1-rc.47+a297e8e4","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"a297e8e4770f0b8e88e065a604acd5928e561419","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.24","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-Gjmrc0MnFptcUVU78GzPWtDm1bkpdd/qxGJD4MURfUnr/heISlGh4sEN1rBhtMiuQeXJD+TE8IJdaODcQGPSBg==","shasum":"92850852f4d2cc59a4c4a965487ae412460300a7","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.24.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkSh9CRA9TVsSAnZWagAA8xYP/R+Ebnj5llAycRyqxNeE\nEtvV2BcZ8MeFhzaj6S4RMoZFwhdkGv5tBpJwPtIuMFURIjrUyIrR9i/UrDOD\n9+MhkY0UFPGFXDuKUiRatEXjWmUOcmmRNCMB/ujA4p3+qf24VworSYfv4Jwr\nwCmlQMzZPws342A+aiFZVKxaW3jGKq5KBTm+IUh/dHTZObb4HpG7poXZz/EM\nVp3uf28c8EgvC2QGPa5+DkahKJsYy0f8xrbZKN8fY/Y4OrmLw5cHU1KNlWFh\nzrrm6vdyyfh7FpyufQSKiTMdyqYHxYTxBSw7TNf1aw+iuPFrTZ9nHkUPLs/+\n5W9Cg8ntFXXAa7fYtNX3fTvJnHLO0+6NM4iTACh1x0DXppIfxqzHJ5udSJ8M\n6qerRHsgZMhQG9dzerSVMddaCUl/Iqxonh0heiZUE6mr1b1gsS8mswGw4/3e\n956mT5lq12RjXfohL5zIr4NAVjhyAdooJyqAkBZ70MQaStsLKbL/zg3s9vqq\neW0voOVrAQ8jbetb8KJ7dDTiyIebbfGpPaVIyp1H8lD3HjM4kT8CeLsTZY9X\n954edGlBkznT1kGMWGUYMFl1r/70NiIzfTurVvQII1YClH+bU4VAgifqDL6w\nXrBuPIqFLlziLAg/YKaeLWBUNeVfdskL1mmpXyug3Ckm74lEM4UcrPFcFyv+\nVGPb\r\n=u8K3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIH+Sp8NTNxssQ8AZLgvo6Gf/MwxhFVNFFH/qvTMp4IgIhANnhT+PO3C/XFewz6Fs0uiJDKmn93FREoP/xXo0PHpYf"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.24_1620125821550_0.06812232865002232"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.25":{"name":"ipfs-grpc-client","version":"0.2.5-rc.25","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.28+09a65ff2","ipfs-core-utils":"^0.7.3-rc.28+09a65ff2","ipfs-grpc-protocol":"^0.2.1-rc.48+09a65ff2","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"09a65ff238770978bc9a91449c9d76896f9db8ce","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.25","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-O+6BX+xW+mp37W2ahnJm36SVvdqRo/oCUYVxAslYzZ30NVQY2+LUNR0R4NOGoWjClScdhnundfA33/CXtH/Qhg==","shasum":"e95eadf6f225eb0d57d7bd6016308bac0f215a5b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.25.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkS24CRA9TVsSAnZWagAAGEYP/3tdvxxmM3x9oNckwibU\nZANvYurdbKp/YPkf3MQKT/sCQBViaxcbs8xFKYa0FG/ZWgqyCFXfWXHCAUbE\n1eXsIB+DSIUCuqRWWb8PX3n+ktn8IvNo3dtkznYBJwcfRbJnulKKKP8Gb6vh\nyz1Vwgp1dY//d1CmTWz/kqc0idqb89/B7Bt7GV1UZxspz+sJ5tiByNswpby8\nTcS6OTDiWv3yjEA4GTv36RlOP8AkrfNDRMzaSLsMtb+uNDIoWRBrzGVcWLsM\nJvKHItQ66w8S9+0Y5pGgTVkUJOYsHqkx85rz1hK8coEOlv/Rb5GKgr1r8mDA\ngo8dio22QCw0Q+c7lJXRUEG635auShpo5gcmbqhnUyev/8butJ+bXZxApLSD\nQ8RRRBlU4Qhu99NsX+c55027QyVTe85rsjnkGuh4FDMatDvXedcuW4j8j24g\n4q4C3URtNyE+NSyjKL3lunw6egD+zKMOdE6HeWhrZ5k3fHxeGCBoEdJdXYi0\no95Bk80xZGhfLLe/DetX01zlk1Afhn3YZkXV7yqVXWV20n2PfaU7JEub0glM\nlvmhlmr0NqwiPUj5eW1454rwOJ35miLYYXve47wtfZsRbA52O0cUS4hZ0fSD\nAIrDMjelIacTTDz95mzgAqSwIIppedhSNHrvoZ9s6tPhGo5DP4H4zMPHtWCQ\nZpe2\r\n=TR5t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPuNlhgzHWAgrApCYKCXbINtrBJfcdzI8UqdtQKJwGZgIhAOBGQolAX91AI8x+RTqUmETcCbdxfzdEj9p3p+HTLlNE"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.25_1620127160367_0.6382494857558378"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.26":{"name":"ipfs-grpc-client","version":"0.2.5-rc.26","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.29+1173edeb","ipfs-core-utils":"^0.7.3-rc.29+1173edeb","ipfs-grpc-protocol":"^0.2.1-rc.49+1173edeb","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"1173edeb04e6497a8e4d2336c83fa8c450fc9a24","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.26","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-2ewQDfN9Doj5YoiaGt73t1n2J1KfrW20EZ9VzMg2DRrxk6vgFXBSX0V+9CXbocaflOUU2Yo8pE2TXC7ldexdoA==","shasum":"f1a088932fa0b4baf546b985a5e3c7ba5f32ea67","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.26.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkVJrCRA9TVsSAnZWagAA9DYP/jWaeWirO9fYgDWRxurU\n6UKX+lvUgricyPUqu8W2RBa3ON9S+ru+Kbe9z5XYC6Fm7+LhX5c3sNKPgLsn\nRgHkQkzubOTvpHhZvw2Q5tNePD0FAeTae1ZMvH3xCRCr/t4TSrrTy1ws8TlC\njSp0LW0rnWa/dgOlcqVTdY6ErXA7XCitZHFIpBL2B4Y4+owTRm97oyUdf+EC\ntUo1dgwEjvQUX/eiERNqOmsltNJrI8Jva+XoxargxdUvg8vQfJ3HQbDUDO2c\nEvxz1zMlTlHaMgP7RwYPOoLcuBVYjbN8L2Mq01XgX5mhEBcIPlA3V0GdC7M5\nMhxLLQqBZiycsPrWYknryjg1imEVNi67C5qIj5gxgpKG3WV6J45mKPegi0ft\n0Mo1qzbU1SLT8GHZ+Eikbw5HGhJcfbwxiaZIYw3OG6lbz35+YtQNIe/scuRY\n2AP5hB6fn0UY/BiX2dIMZWzCBXEaYqDul79bl3hNTXhecoP1Ox320xpHVa7W\ngwSsEiEqbCEZo6Q98dFXPwP7iqt1ZKP69KK7m6bzuhPLilrQBKpHliyFk1xY\nfljCq2KZSv22hT53NSO8X1MJCDhqxuLIKmDBq4U39h4MdIewhmoYgYTMngJ/\noBQXyZ7Tlscjgpw7h88uceeJ2rre0CN9Qvkbc/x3cjsj9J72/oxL+MoF0t66\n72mh\r\n=AWNc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwNVfPJGuYxb3b9+ZduDlVEPW2aHm3Yn7LOTSPS2DtGgIhAOpji2flIdfp2wqmlCRiFiCLWPSN6soA4ITK4KjO+njp"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.26_1620136554608_0.6772412297470838"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.27":{"name":"ipfs-grpc-client","version":"0.2.5-rc.27","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.30+3ff26938","ipfs-core-utils":"^0.7.3-rc.30+3ff26938","ipfs-grpc-protocol":"^0.2.1-rc.50+3ff26938","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"3ff269385bcf0432e94aed545f74ab370d664557","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.27","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-HDC+Ob+FSoDIYDRBJ5WVjEDDjJ2xFB08z+sYi02sqKghgcAW2phQojE9hHfwWGSWd2eXh+0RlaRuPvraHkAMJQ==","shasum":"dde5c57ae6a3e85ff767cbc81053ccc2feafea30","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.27.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk9ZLCRA9TVsSAnZWagAAzhMQAJLZnc80LXnyYCRPyEon\nEu6VPVXMi1j7hih3OKopJ55szI8G7Rx7jAp28SRA2GV9FcLPXRaC9lgpl1w5\nVYaM8Hrb1KyKYhye0dvc7bB77O15b5YaaBTN95/kdquTPfnpjOJm6xTjL2dK\n+ktsar49dIH6LMftC5qymgBSd9uvdI/KxQNWi69ufl9nC2pp9fg0cVwpcltx\nKTySwgOb7BTFT27pv5kUXIt/C8wtCFnQU2rdFu2xtFcUuY1nTQAQDSggOKJX\nCynP8JUR+y7bT3hu8qyR6w8rf4oB7H8HliWP513pJWMoOfGPNcW25wD+nOIX\nkRSU3tI1vt2ofFnDapHZFeBMbxHEJpx/y0lyyl8pH1bz4nlDLC3qEZy8HiIl\nEGfFLtmwMKyaVVBj1ntPYWM/qdQ8gP4wtUOFBjWhBw8jS2K8pGqSINohGbNh\nfuHB+y8zJzMFK2u0SzMlHFc39YW7Zm70FGS/49QOaxMrcJQXWYS7aEe2X5tw\n3XLMWxd/8Tg97HHshLshE5cQnEBZqAgQ5ee78/di1IqYgEBB0qCOlBa/E692\nYVnTTAmffjPm9RZxz/04ExtK4HNeqfsK19l97YZ/V1BF+D+ZX4KGNeY782rW\nytUhJ0qzJJ6sUv5qViPKldGZ7kNS5T+EKCjFhaLJXBwzcGvUAIJcBiqUtLoX\noWJj\r\n=uzEa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3o8ofCHQvWW1s2Yo7Z8awx804+w9u3RdEBi+KBGtBoQIgWAmoZ2txkk7K+mgL7ti1tKmpCD/PpH28pZqAG9jRb20="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.27_1620301387283_0.08061916364842014"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.28":{"name":"ipfs-grpc-client","version":"0.2.5-rc.28","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.31+d5897854","ipfs-core-utils":"^0.7.3-rc.31+d5897854","ipfs-grpc-protocol":"^0.2.1-rc.51+d5897854","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"d5897854419e83a146dc8cc01de04e73b250d07f","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.28","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-QV4sjVoG49VfCY7NFVopwfOM/xGbqBSzqNvjiTcMnk9bPz9ap6E0GcB9uor0+wxzWZQyzGRhnAu99kvIp1yH8A==","shasum":"8f0ab1106c4d79db2bcd74b4f339e66799203741","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.28.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk/qiCRA9TVsSAnZWagAAIA0P/0rXfIKXMDFgmD3ZyItJ\n4uHySfBc8CUnDwZPGZO6/+pVsjUmqwsn5jZEJfjDCJgnTMJVjWX38Vf/hYtM\n7P9GYl7aw6EY4AkL1h5yE4mKXB/lBYkqPXQBY8p8ehRxFF+9xUfmYexXTboS\nMEzTQlfnS6yBw9PRK07eY7semIee+yTYARY89e5ufsRSbB2WKtN6rqDBXTL6\n6D+gigqJgqJwEtDLFLU+CZRkpNTzFl7OBlEG5o2hP/4KSQ/ZJ5tiFzEBniUQ\nCKG6ieTMbjwbOptN8TvI26RrSfJQO66mVwy6yzJjxWQwwtplIKxxkHlSMZ1K\nEtNlLnLhMXEsJQ1ofSvfoDEjJklN7bIz35YsmtvIELWh4NXMGni/RRJSJvsI\nXcBYnvJ4vfrmYn/dxvE5Sv9wQW1TBjtX0V8E46ssrzdhsv2xZYkxXuk64Lzq\nR9paOQA5Fx1DYdFSt+h0i7Y2AKSw7EmPf7AjLj4/2fb34CUG/iie/Oytp74t\ncJzVmuJZN1g09nrJvdCbOR5gOtbipAVyGqPLasOFcAtV5Bqbj8ZOoGggIR1e\nSseruy83qbTaoSxfRgeXAev34EOPaOxQSz1X6BMOWxc1Lcn11LysvU6EZ9Ve\netSz7zuSOiuYq0l93JofY/pHIb+lTGvHpr7xtmaDTKC45i+vUGiNWCFQz5GV\n8BpO\r\n=kjaX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBI1gwAWFfzt/+ub4frrZ1v37XZ2YxmWp571XMkIonmMAiEA3wXOD3sjZlZj5nicVjkfyHbo666dj2YT0RIDwp/42w8="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.28_1620310690044_0.5377905691662699"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.29":{"name":"ipfs-grpc-client","version":"0.2.5-rc.29","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.32+3923133d","ipfs-core-utils":"^0.7.3-rc.32+3923133d","ipfs-grpc-protocol":"^0.2.1-rc.52+3923133d","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"3923133de800ffd5a5550da86b7bca254206104e","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.29","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-QU5BGDGlXyArGAtE7OxnrhGI4kiQfx2YpQinTekprx1A5zVp2JGSF0ofB0vSXoKxGC6JJygnu2F5qMW0CfSrow==","shasum":"7737bc99256a6e4eb5b323e6fadac6c36fa9ece4","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.29.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglSuWCRA9TVsSAnZWagAAbLcP/iY4mN6/e6mZNyR4P+OI\nG+0PRpnWqGTD44Kl0O7jHxgAQ8VDZN85oVsoLM4DFlUK8WS6Xbw+oLcOm7uc\neUgG4jwk0PbDV5JTp5C48IY2XZnFoCapfaIcLKKebf6LfYOLIrEUJeD3pThc\nVeJNfxyoI/JdAbCBPce+vcwajLxsHbygTGTfDHZE/DkxdLilAme+nKP55ARq\nzZZbkch3ADPNRxB8gRXBLopU0/Fh/Ee+4tGmr9I7l5vxmtf2jLeDj6UA4rIH\no3i4iumjnOi/bmVFaP2Yp9Lsg4GDXEotwDQcePcafl/k0NLEf9sj7A0H+/mF\nRAX2kgGWgmxkEGqhFNrTl00tE6pDTev3caxjv9XJ9e7lbDYlJvuxZrLcDadS\nN+gfYVlGGWgbQbt6VlnpXtVk5oQFr6g/a0LaMuonQnFbpj7dT3Fx29oBMs1a\nbaWxGS+i1CtLdnMiJI9PULCqkxnTV4fsLiuPt+VfXLnP9KODRI7ERk2Eo3fc\nIsP1kQmUfT6PCxMVxHdm8/gjm6c2Rd3qv/NvK28XH6hKLUlLQaVYSqcJJd4o\n9lHuQLyKri3eB0P58q755aByF69uzly2hLFUos3B+vxdKVQcdoWYC9c96fA/\nxJcpYA6cPTwJhbD8+H0hSjvQ6uLFoKMOyAawwxj8dE4oUzgxyzoYDxGm7+7l\nBaFx\r\n=kbSX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCugCIfmjnRHmA25x1ulKaBz78vAgGwBlGMSTlWIpRRWgIhAMbkgGM6XVdIaKO1eM6mgIBtKaXJSGX01xTJPSJCRxP2"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.29_1620388758102_0.7466103374357831"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.30":{"name":"ipfs-grpc-client","version":"0.2.5-rc.30","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.33+cf78a190","ipfs-core-utils":"^0.7.3-rc.33+cf78a190","ipfs-grpc-protocol":"^0.2.1-rc.53+cf78a190","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"cf78a1900dca2d466b3694dcf677eabba5ea3b17","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.30","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-hr432UU6piBUH1aEOTqcARdmvJxZ3fmScuxU+guMX7SbSIp1sBktt/DBMqix55w7s7xG08EXz78XxwZc7EKjTw==","shasum":"fbce35acb1d9742d024ada5aa2a14e3694b08207","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.30.tgz","fileCount":48,"unpackedSize":292809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglUMmCRA9TVsSAnZWagAAZ0sP/i4l+0yAIM58wAUnH3Ui\nU/KM4wxldvUpzP6EgCsc0ibVRp/Q0acdz4G58LNda8dhD5Yo1b8vQMGeOEQI\nDV+5m3RszEilDtpHtLOKkri2UwGlego+Mx+5ocMR8QSipYioUcZlMD/jSnu8\nyxOS0PXo1bJfO32HIfh5wEdyzGBa65sXD0WzN918XFqPb93JAftV4jedmUDG\nBZ/WHdZgyVCDHypHOukIDINDNWmxEm5hPGSF2M3Do4SbI8KqtEpl080LHEvf\nkV+crJF8TA/TsXDq6Pz3fRKV4dC6EHZJPAk35drhIC3ZAFhW/jtyhtK978hm\nOXsm3WBhVMO13nO6KNO+Vq/ORXaVgvhwWO9YxovFnCaxhT1e4DOTBzgRGBkj\nEcSDmYtuIdMiBKb7Mld7gihkE32z6PBx4e8pRTvZA9xktEBNYbIO2tZsZqFE\nxDwWg1bKI7vEp5R6YynZ0LTtz0d4fmy+p1biPKd+uljoXrZYzvg/UjDip3zU\nPTAebLb6kvhpFs81iPIhwYmM2JFRpHmEG02btPf2K446Z3RaDhaenFzTvq4e\nsUfw3XjGED09WXVwqNbiG79erthpWpEPAzlb4HFi58wI0N2fZYQRLhewcpck\nQ87f6BJ1cuhRbh/mTZBqxjzRNLnoLjuvOtojnbo5JoLWOSYL9vz/qaJOM2fc\nqy+a\r\n=c54k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDQQfRxolY8WTQEutD9W7CofKwl937BP68t28+npisfbAiBCwFWy+iTpwmFnGsA2wpt3+1k8jlh1O4lnoBdlhrBF8g=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.30_1620394790350_0.3427526986899918"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5":{"name":"ipfs-grpc-client","version":"0.2.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"typesVersions":{"*":{"*":["dist/*","dist/*/index"]}},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"prepare":"npm run build","build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol"},"dependencies":{"@improbable-eng/grpc-web":"^0.13.0","change-case":"^4.1.1","cids":"^1.1.5","debug":"^4.1.1","err-code":"^2.0.3","ipfs-core-utils":"^0.7.2","ipfs-grpc-protocol":"^0.2.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^8.0.0","protobufjs":"^6.10.2","wherearewe":"0.0.1","ws":"^7.3.1"},"devDependencies":{"aegir":"^31.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^9.0.3"},"eslintConfig":{"extends":"ipfs"},"gitHead":"f7e44c203c2aba94548cfd32c58e5510fd3d5557","_id":"ipfs-grpc-client@0.2.5","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-O0KEIt1WJfhKh37wYxJeYDAtxmPrHNnE7vFColSITU7bImGLXMovvZt2UMKl5W3LPdbk3vZSVqc79M1c0i/2nA==","shasum":"f1db81a95675f789a12378903a2c19a2ee6fff9b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5.tgz","fileCount":46,"unpackedSize":226890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglWCiCRA9TVsSAnZWagAA5oEP/0A7GOb56gABa4ByIPHZ\nx9AaZU7Y/tbFeyELdz8Kw8MDiP68RJALDCUYK/zoFgX0u64LlfvQe60umTKR\nLze4pM5WmuM8WC0dZqo8B3qiEvWMmPdpis2XRGHKlUauK1hrVltDDGRjGHAN\noAVa7saKrxvQZsVw476u1RT0u6SN70uKPrxTZtsgeILp3AYiBULR7QvqnbpR\nhpCtdS20ic7R9wYLBsS3ao1CbVKcahvNzlUJYm0CxXEkYdxR2OLJdLPscYjS\n6eHZ1Iw0RLK+kfttLBuUA2F9hB2jNgmBv/CpcPDrzNA4JWWVwqBaSSUV0p23\nN+jj5MgXZjN9dt7sLbkcGb34Uz78ZKhpA+zaWj5TJ1p//ogOUmztJ/J2rV3u\n/0k9I+w2K+2ciHm8yRYM9KC8vVWfNihs3rRcalfCpRSRuzFHH+b+2kTldt5o\nK1I3j6qv5Sm1ihJAI/7MPUyLDm2XFAAVbkoMkJOojd8dgwdP0GlX9tpP+sli\nyOpFbEKIm6Wb7O1NAzkKjoT8Nef9CqU3++64mV2IvcZWYYue/W6pQGZqijOs\nqnEjmTatnInBKbScBldLkMe6aw1BmmkApl4dD3mhKphVLuVfNMbCc/d5nvf9\n5cRI5yMilS8HhcL8q9Y62WqeksTKhLZw1GJLV9upOAqSGQoPk6+chYiEdgrE\n61TK\r\n=4XHK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgJfaL4XHGH8q6u7u6u9A5ii9zm2HpAf8GPKJJZP5OlwIhAOhTHBFoprLz5Ecz43384ztJIcTDdunge0Zd5iwLHOQM"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5_1620402337555_0.31919563030422915"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.31":{"name":"ipfs-grpc-client","version":"0.2.5-rc.31","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.34+fe6024ce","ipfs-core-utils":"^0.7.3-rc.34+fe6024ce","ipfs-grpc-protocol":"^0.2.1-rc.54+fe6024ce","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"fe6024ce70fe83da84bfd938d725f3e6814d0e9d","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.31","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-Odi9Ofi2zW/Q7OAE2b6UzvxkvYT1RJJKUxXdooNRrlNjbR//D2xGgc5ZSBG/ZWr285lpwQ9CFMCr9TwGqSDOyQ==","shasum":"25194794ea2530ef85d23bfa6c0ee3a26f986e6a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.31.tgz","fileCount":48,"unpackedSize":292836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmR+/CRA9TVsSAnZWagAAZDEP/1xW2yOmhLTvn+gDHnFD\nSaugxKepMLHaRBongQlsMtRSERcB/feiZhVQssKGybAB+2uPiBSeL8vTSzTv\nOr2/xAgyMTotW/CAX7TkWm/fEOnOl8PnyG7Pvt7aBBDpev0hfpDusqcQs1sQ\nkNVUnnwdQUXpwo5/duX8zbA/t0/9I+1U6+o9fKcWaGLGQrynrYL58+ygZYi1\niaq6zjJKjw0LOOW75MPR24YpzsifRdz0l6Bdsd2RcUuJPpXwYHTPtDuD3ID6\nc3ZNByq5atvoqoXjink+1cUv7Goh3l7xegiBKlUWtKmrVJh5ytZju2jKrttu\n1/Ssljb8V7GwOivWyRGwNQ7AF/RfHR6Pj1JWbYzznh/QhQW9p2HUEaqIxRrm\nDyiXk0gu83v+fC+uWUMfOpfJi8UQk7LtvV9JqnYWNzO1R2y88lZuGCCkqHhQ\nrdONyWjzT3KfwGG7HJ51yD/ZAxITUQ/rYtlcx5F26caHo1Ei1/FEiqymhaQk\nV1JFV3MeFufxwZ21NVDU94eNrvrS7d/lxaNtxBMCCxRowU38c9X21EU2Vj60\nsxzJGtPxm+71vcIkl6sl6ROAHF3zieJIseJTdscl5SM5yAvuWkNTSp/6mpa0\n4werXpIDquA2YipGGbScFpMkTu8tf4T7cQ5jjcZIl9Qq1H80OmogYSAJ5NBA\n3hOt\r\n=/dZR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEgV1sg2uOI4YjZseeS7RiiE6Lp7TqP5KgLnlCapgG04AiEAiJopiC+WktIO7nNwK6GTlbC75xLWFCw2yB3Og7m/jL0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.31_1620647871416_0.3687146207368248"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.2.5-rc.32":{"name":"ipfs-grpc-client","version":"0.2.5-rc.32","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.3.2-rc.35+bda04d10","ipfs-core-utils":"^0.7.3-rc.35+bda04d10","ipfs-grpc-protocol":"^0.2.1-rc.55+bda04d10","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"bda04d105587606ab2d7efba04b232bc89b1edc3","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.2.5-rc.32","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-rf0v5VYEeHhKe3mjSl1IKw6L6Qn4+it/0B4Z6VjSpnUEnk0HhJsF/LVT1kOOfLUVS3IIdUEKiM02/ei7eO1g5Q==","shasum":"2522513d2888079cf6fff18702ec0d4299e2ba23","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.2.5-rc.32.tgz","fileCount":48,"unpackedSize":292836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmSU6CRA9TVsSAnZWagAAxNgP/1PWzOWULzNR4QbTNrlV\ntcmyQSNphjUal3lknuKQoH16IF1GZKy1LEOZq+xLa/Ywa20o5fm3LW/5TdFg\nOnwD4chcSNqyhqC1zzKzOQ9qWenp/KnUntNcdIQYOooihQ21oIICuMLy/Tz5\n2xHcqsfqUJGMnAZ84JasU3L0Zq/AEX9K/4+jRAsphJl/XMx6V7jpYeSJm+22\nZd/NnnW+jubsRmKn33iGl7QhLw/0iBUNbocThA5A1Mo/eQat0ni31OuL7LkZ\nT4uOGPjNdPSnUdeylcCm5hNr32hb1tqrtj5apN1Vn57xhRkJjFzlwyebzxET\niOg+llySeXkNd1S5LXHeQ7UVBiIc1egLiex47PtoMX2sSzCgZLEdYCSsiV7I\nqOMufP97wlnq1FaYzsewrF/CUZV85xJxBZDs/pHrSWN1yU4GG621eJwKbuwD\nDv1l71SqYGQ3/FDzDMSxlW234eJivAQ/9i64Qnwt1h1gL83PMO8864WOHFp/\nuuRFdBUSTnKdtb/VuiNigGz+iPNkNN1dlF72DbQQX84HIO4jaPDXyjz02/+5\n4ds9jfUlavWR8hWDBZ2IKlQr2QBX4WXwIcdo/L2AQa3U3M0RsSuwaIJ3BXj3\n4LF/Uu0ZAH4UPed2LFikzJSkcgytWE+uoZCnq2Q/ZTbcLNYjBoq0QLHEIMVS\nP9bY\r\n=KDn4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG2ZTRgHizM+x/2Aa/7elnzTGv99cdFCEoKPbDaZu8BzAiA4BE0W6+E4q71gnO3Mv8hJnrQZ35rKbZ93YxDfP6oUKw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.2.5-rc.32_1620649273886_0.025186876471924302"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.0":{"name":"ipfs-grpc-client","version":"0.3.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.4.0","ipfs-core-utils":"^0.8.0","ipfs-grpc-protocol":"^0.3.0","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"99053f721305d1905f36a16631f036e883cb02d0","_id":"ipfs-grpc-client@0.3.0","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-S80iPp+XuO4rsuWE6V0mRCccndW/+/vUE4HsXUHPv6HsIUrNO0GGBFKGTyaJ5eIlE/7Pk9k2YRC0BlXUnCFyKw==","shasum":"36a7c3f81885df64e64946fb2401bd2744386418","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.0.tgz","fileCount":48,"unpackedSize":293487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmUjXCRA9TVsSAnZWagAAhb8P/jXTrvGvaadZpeiV61/6\nnEJv5fgCuqhnk/5ZmJt9GvCIHNDvgyca4genx/M6MEksoS/ZuQYjCIcoDs0M\nyFN9iPbAI3e4L5EidfgZelFBiDlhue6Xc4hGh6qGkij896rHqvwwttkiHews\nNyvC5JCmOIq6DKkrEXtxJtbQZwJIQ9Mfkt9SumwforciXYvuMKLRlP5dRaHp\ndWzSiouOy4jsY2bwSE4LTPdXnoavrg1jIC+pzOowh7lrVA/PS/rtnUQDg3mg\nxSgFQ8lAkqWnRVQlWiaVn3IhcZXfnh/KBwcwH/b+AmxIHUby1I106T6s9hkS\ncm+HuYlfyW5sQpAeJ8rZMXQ+hzrakXYk77U9+I3WZis2M44ezmo+sNd1kg4x\nYk+AsxJE/AOlgyGVw5OSHNtMYMW16x0+nMC8YV9oHijeyNuJxft4tr/dyOa0\n2iBei0iWlJ/CMN4nb3JYcluUL8/Yx53s/O0Vkyp+/Bi9cioIZZIbxRHBXZTB\nGoEg0MPmVWDLtjOYsc8ft8fw0LM1E073NOuAJ2bv4RZmZ1N3ZRu+vhLjFUjR\nOYzZwe2UZLMM7f6H/4ivH1zRE0+E6lIo/9EaQFifiep/+dG7v1k9m4D6DuQE\npdi6vVC7O3L2SvgHiI3cPJXRB3P2mFlW1B8icaZXqwucBoO9e1STY+x5/LgM\nKEQ/\r\n=C71t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDajmu1YI/EfcCNTy2+hNRUw1D2ktt2PhRovTlrVDdsygIhAP8MDe6BNOvu6lnlX5wOhDucHY9wOWlUOqd/m+jB5EoA"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.0_1620658390929_0.049435318305132814"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.1":{"name":"ipfs-grpc-client","version":"0.3.1-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.4.1-rc.1+7f6faa76","ipfs-core-utils":"^0.8.1-rc.1+7f6faa76","ipfs-grpc-protocol":"^0.3.1-rc.1+7f6faa76","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"7f6faa76a8b1903242f941837e2c717cd8095d10","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.1-rc.1","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-ImBV4HixPTWMY4qVyGrbK3P6cmeuIFDaiBHSIQLzK+/0Quhwut2gfBduzHJyWzY1X/yw1a87FSed2/RuctiYcQ==","shasum":"a16f1199dc08a6e27a0b936a37b0f2620ed71dbb","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.1-rc.1.tgz","fileCount":48,"unpackedSize":293543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmh+uCRA9TVsSAnZWagAAL+AP/23B2VRhcY1NLuvWHDbD\nFE5UVgq6OKr1C59XDUFTPPuYzSiD1VV7SrLACixp6Jl77tGTQGJa3m/njBgP\nCzPF2DZMOiOMfG/PN+YfnLg7Tbxom864vsGpmn53YXgsP7ADwp2Ws7bGObgL\nw19lscjL1qcLRF4vEU8BKw8gqnhYdJnarLJtn6JWTQIGFS2l+qu5O6i0fa36\n9XtvGdfdDPMN8j4ZwwMFnfSYPZuMyGrfLKAC0zzn3orTQmReC3Ko//tOEvgi\n7Jcz9LgIrDXp3D2ouJboFbJs6asDxz5zTSYGOH2bzpOlZFEe5SL/t+ee+UKi\n8INa6XBQhHleJtG2O8HzhedGj6o6XPbhf0OfTBpTo7VitbHVh9dHdDgRvev8\nnAFqICbo+b5j0/ugYoj5dhzNxbiB30r7BWYngP/toECWucpeSICIl2DX6VYQ\nv7wxQ04ytSVTs5sf1e6UsfRoTRMYSYPjswlgMvd1kxsetbBkt5ERivBvV359\ns4mLhqSELPLRKjT1fJw24Vp4zThUDUuhlSH+SPfRFCkisIjbKQ11pdst3v54\nJXKvav5bqSwrAm0YfqXelKU3VcNYNnFRPeRbuY9C5rvExW0P9IsEFZZzhMG/\nAos4xWWthPuKn1ivlZ6XURrZXax0LSHVTgXpWsF3EUKAMvJZlsdLGu4W24T6\n5lZC\r\n=9rZ6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb/dv5x+b/chzHnE0lBTP4pj5IuKSQ6L4F+iVZAkl0wAIhAPf+k589LaUhrvGEMJLcHyET2Ft/m7m4nI6981TsE9Xy"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.1-rc.1_1620713390443_0.7681052343609185"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.5":{"name":"ipfs-grpc-client","version":"0.3.1-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.4.1-rc.5+18faefe8","ipfs-core-utils":"^0.8.1-rc.5+18faefe8","ipfs-grpc-protocol":"^0.3.1-rc.5+18faefe8","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"18faefe8bd4ee1f671919672917b848436247138","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.1-rc.5","_nodeVersion":"14.16.1","_npmVersion":"lerna/3.22.1/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-FfaovyzLOhHAifmxyM7ZPgVlTJ4O4VdYVWyK4dxPvlhmKrZH+yoT/9KOVPLCLSazU/1re3/uF+LhINnfFOUDig==","shasum":"fb058faaa4866650cce8214d5a68d316eb58eefe","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.1-rc.5.tgz","fileCount":48,"unpackedSize":293543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmuitCRA9TVsSAnZWagAA2hsQAKEmEM4uOESyR9jM8eeB\ncDyDRRraZ/2kg/oH+THsF1DGSzhCKV9EiNNKnv8vdkWcn0xjl194FL+Nrf6t\nUGgDLFOI9WKLNnRKR8MVHHtFB9pymtvqCUq6JZ8dwN2MUEr41OcKRsytTCkF\nmy7OdSHhLzQ6s8J4zHVRMZQ9p1xgpcHCwdnqmxv8IaFRPMY7IJGAPp5sJ5wg\nqTvQtlHTPNQi9KGspwLKe/lcrJPEEz/uG0b7hPURfYCEoVfSeL4ziGYwJBZK\nJagoeZwX8aNnpn5b6A0hvx3v5z62KpDIGIqed4JMgVH0dfPi0F3Um+jPOQRZ\niz1BWxYuFMKJnAB9zeRm0nwdf2V4Hs6DnQ1KuQF2Cjr701fgAkfjxjixgN+Y\nNSw9FoJ6xjCGW6axvx8acqx7kG/4A1xN8KFfTpYnmiG0MzL2pEuGcK5Xa/Qo\nmnGrkd70Ha0jSdcnDoFezKUypnwQ3yzqxFoJa9QKDfYiu90HJ2CNlgWOwLx3\nun+m70PjDkJLYy78b6qhxeY5j8/RgQ77tAxEIP3G579gs9hZVrcFn0resSb4\nF3LKyFDSOMaTGhf0BG3s5Lf3XiIHlEjfjla9YqwgWfR+AX2u7Non95L1Nccc\nlOtoRWiIMzdqdmoSI9Xaf/7Rhw6DxRGIJLdcnQddsgZ5o2SSi+zS8JOigkLy\n5SWA\r\n=A5ao\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG7sHDyfDuEgB9KDIcUIqpWYiIBZ2iqA+LmP7QGWlxf8AiBXE8f1EVrhowCO8quc5sU0Dffu/flpRAZyT4q5l4Btug=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.1-rc.5_1620764845510_0.7693448963320868"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.6":{"name":"ipfs-grpc-client","version":"0.3.1-rc.6","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.4.1-rc.6+311ff504","ipfs-core-utils":"^0.8.1-rc.6+311ff504","ipfs-grpc-protocol":"^0.3.1-rc.6+311ff504","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"311ff504a98ca562e738eb3bb60fddbdcb5eebf2","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.1-rc.6","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-SCEYYOtuMp7J2O7OrCUpW/0T4Um8cEUiZd6UcYqbKApMF1ubMPIUIDbR5fufLIWL7f1I+3irHja0Wg+Q0NgtWw==","shasum":"41f62622b8bf9bbb5f826fa0cb79d3b4a5af399b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.1-rc.6.tgz","fileCount":48,"unpackedSize":293543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnWrBCRA9TVsSAnZWagAAIYoP/i7RWmQ8mD4dpsB409M4\nBflrwSjfHXEMOOonRTtDHM5Z1E1clxu96daZqMLSNxox6Vj1TDd95HQ4lMSG\n+UN3JAx+d9fiW6ENHcShZoncSfJWQi5bHqzeXwW1N56EzmQfbYtXtrvGy0bQ\nY9ob0yXY3lxvzY4jacrV40RMyCv3GnAPq9Yz/kGOU9FCeUGZbSlvMMqusIHn\nY3Nnh8z0Nuser8mBs7PTwSyqvWIDqfOr31wbDlorlJ3F/tcO+CIn3gAQfZMn\n78vDLXpL3f1OHcXVfCsgQAG1NewXPLBru4DlbJIM/WQp0NdfpB9XmFqYy3iM\nVUxLsRTMfUwKGX6Yq2bQyIkJ9S8OCXs2wtHusihfho2PhWaEnJv6IpChS/wV\nG8mCQlA8RJd60l/YhjxQg4Rcno5XpTciJu0XoH1/QF2m8kLVA8WcgCAxtVsy\n/Yo1aUxc59WMrWmfF/gJVu+JZnEuuz0eEI6gKeH/e9Vb/Qp72Q3/eLWNkfTs\nIwBupCRctov/klmnyRaKu/KxOK8o+RoVVafkx7rigpNq65j87XZYSAT4CVdO\nJlIUtBwkaqXWHIKgk4KOQLimQX/8BjC//JNpN7DPFVBzvlx1Lv2Gk0q2S05w\nn86COsDY+2LuUZxyAgYCgMwjmtLYFrZwTC4HuGp0f9rIQwvwP9CR7oCXDM2m\nR8RA\r\n=kD/d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDHigZpQl0oqErY2g66JEitpaQkTpMeynlZbVwVddnNwIgfNLGwWALEMvwz8spHOR7NZKIF2VO3UsiNPyAAxpL+kg="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.1-rc.6_1620929217203_0.32588513148275755"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.7":{"name":"ipfs-grpc-client","version":"0.3.1-rc.7","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.4.1-rc.7+1926f990","ipfs-core-utils":"^0.8.1-rc.7+1926f990","ipfs-grpc-protocol":"^0.3.1-rc.7+1926f990","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"1926f9906bcff5bdc8d417a7212a9db52ace7e3a","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.1-rc.7","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-8q2bmycTK2PaeDcps3tIUaLPcogNr4efiRzckLhW1q9ttD7nLSxS2RgCUHnw4NFZ1BDMnXjFM/p3G3ys/2ElbA==","shasum":"266119c325cb7272048a01da75eb90c20d95c219","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.1-rc.7.tgz","fileCount":48,"unpackedSize":293543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrQxVCRA9TVsSAnZWagAA3JIP/A9v/4K6wDALe0809/fR\nD86DVRorVoWZVfSft16+PO5KMpIYvG/Io/+xFEx8Bp4ts+Nw0KvVohFd7fCv\nfmGXGG6ezgKg46caTK0WxDdC0MNGSdppwk2JDUV+sBauGQu2siLW7Kg7y4K7\numI0t8Gwm1ZGcFg4iz/Hyh7uI0kdyA0qyqrPe10zfhjJtJMwzG2nHlmjM0P0\n9P1jUfzWd+HqB6OfUSNO3opX7B7am+S28xlse1PIfiA/Aj0bNDyiXwAX8yVJ\nrHCjOPBibQALNMHv37GCxkPvuFLTGfLbvWAlPUHCtw665xDanxQWDxEp8Wt5\n7Aer8pntAXEX9iRoTgG/oE07Y6xZFp0Iex62K8imZTVsZ+YvdHMp17o+0Gdb\ndcJCT446H/XahMSn2ucFdD3LxCkbqiNlzkDDw7bM+J9qebg/U6K61A6fIRSB\nh7PPIqUxiGMQ7DG9IxNGZqFJBKjF8uyhp7NXyive+cGIRACeJ36ZU6soXli0\nYbOAqnI5UIzZdm5uCJrs5z6qhXTHu8N1tjMZsApMiubofb/n4lWzhh/j1r43\nIZoVmaPxOemiKD3ppVrv+81bRmyQF1MvBv3jgC9eCDkmulWr4HOeaPgmwOcz\ntf4wHHZdf8spJPomKWLMg4pQX3/XanStPRFnkEvK9TvmTD25TLWEc5SfLoZq\nc7bd\r\n=MY1g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHvbAtlR8oJqADkFryoK4HZWshz3eJGUX7dAaivt7aCkAiA//Myzwr6RqMkoC2lsGzU8r0jfQs/NvywoLDsC9zG2lg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.1-rc.7_1621953620689_0.18988320835175942"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1-rc.11":{"name":"ipfs-grpc-client","version":"0.3.1-rc.11","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.4.1-rc.11+e91a1e52","ipfs-core-utils":"^0.8.1-rc.11+e91a1e52","ipfs-grpc-protocol":"^0.3.1-rc.11+e91a1e52","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"e91a1e52b86fcc9ce5ca5881e8721863b58d5d9b","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.1-rc.11","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-daq3NRDeLpGoOWKHBtH6+rggAgnvZIqN7vLEVSmpIroLuIYtNayDWoRjE0UGPZTw3MY8CTtnm9JQxFD0zcN3kw==","shasum":"08b5e675c00f03cf63c50bbf259cbbd6e36265cf","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.1-rc.11.tgz","fileCount":48,"unpackedSize":293547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrSCGCRA9TVsSAnZWagAAsdIP+QBYtRIEQrP9Zlo4iMqU\nnll3aQb9E7DG46YVd+xeQl0N4tTtLSAPDlfN1zlZBw1LZ90GTNqasEfsDRW5\niyqq5OsWI88QapVIMtpf7Livr/Kki8D/gR0tGLPheRY6JQltr1m/JorjKwZo\n7V8sBi8aEpdi99crze9TlVRt/aW3rUFgVft29ogHEhgQaEN5jPYwecrMVRLf\nAAPrTKnPUCLSlGPe7LIJ+Wg6SaiTOlCfefp2M7gBlU/MW7guwgBnYB5j8Hvv\nhcqsUOd47VnHBfb1bQH/Zcnn55p7dOWGYOz3ZDNULS6ldYPVjTxGLEpazytV\nqMRmYoOJchYe9AgHrTsbmJ7Qf8dRY3CRUAlAJFHKLHLnag6iHxJDQY8pcJlq\n/LJpeQiG/LWO89n+PIjgbbWCI06hsE5HDpModaz7OrpQ5aam/9kIKCkk92Nm\nCglWlTYmjjQ7DeP8+lcYEqqMKPOQVQUwdBBj+BhHeMIxwiwymmYqAz6o7tUO\nrN0aL38gmwqSDDw5mIVt9WBilWjoIFKOyHyOYWR9YeYWFJgE4DO7gYfj6LyG\nA0BSEGWZ0VZAAk2aZH/6iQTiw8SRhPOo/5fM0b85sfZM5QQ1hDuF+T4Tz4u4\nyS1ts2f3oS1HNeZcV+LTaLMs4X+2V+XyTrvJN7WYtPLj3kzUQsEmUQlq1moS\nTfZX\r\n=6RRc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDelKcGhLbjqgK3prfsqj7+zP9fP8nKJ98Qo6C/7UgqSgIhAO4h6WjhnqdBKX66SPKj0br22WLEX1Fsn1mMk37vDjA5"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.1-rc.11_1621958789967_0.7127994704637601"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.1":{"name":"ipfs-grpc-client","version":"0.3.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.0","ipfs-core-utils":"^0.8.1","ipfs-grpc-protocol":"^0.3.0","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"c40960358550b920d3291b8030715537a63c63e4","_id":"ipfs-grpc-client@0.3.1","_nodeVersion":"15.11.0","_npmVersion":"lerna/3.22.1/node@v15.11.0+x64 (darwin)","dist":{"integrity":"sha512-PFax1OfZxikvO8i0w8h4/1j0rDC2WkzRb8klfYPBl1Pgi1ZYhACPOc8+8flC6TGUDDZbWjVQVE8HKx2kL6zALg==","shasum":"c5edbb93b4ab7b7c149e41f49e79bba947a4eab5","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.1.tgz","fileCount":48,"unpackedSize":294511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrhXSCRA9TVsSAnZWagAAUPQQAJcHayCrra7Jl865TKsk\nXP4IMAwwVYRU2hU+/rRBAmaJxRjI6rty5RUL3larzgOVEJt74n6LzJgPin8N\n6HTqz6KmaD4NqIHOZEUctTNArMGM7gXkEJyBpa2FFP212m4m95PLh+YTOnjc\nw0MKVIifvyAn7traInOEqDbE1YBlU0fVx4vARxihyDsdZo1VIKzXnhUs43ZO\n4wT70Pj9xEjovZlxzZ297duQm/2nccBscdX/R6QPjURViDHzmRjJPumCNZhV\nLGByC+Es2KUxEtCBGmCn4ZQqleCjki7SiOevKedGDzx/7MBynWC/fKxp6dsx\nWi/9lV7mYjsFBL4xtJX3pDIWr8HMrL4ZNLhVc64pRyM6WTsIcUYMWi+U2/2d\n3PtGFd765S+4t4ig0GZ4w9E0ccqXezVRV0/CysXFdp8r1DNVSsXLw5Hb43eb\nFP8GgSUczeLr/bxqy3C8boFbHuTHqlPg98un+RJ33GfDqYCQwQJTgmZVlB9B\nqj15L9RlnAu6CvBreARcxETkgls9l+9gAPPt7K3AES8kFZ19yokLBztYt5J1\nVyjYX9GOHo3qvQNGl4Lv7ImVHKDvag9BNdF/7CXF8SsjjkusACzGCNVy8uwS\nx1occJytwk1Tp6iGDw4u9AZmAUumeR/iIV51dcYYcQ7m6IBm5N5evBbAtV83\nvted\r\n=z6x5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfxJm1xNyfVOqGqrH0W/IzC+QfBvdOKKTxfQWXo1UAfwIgfhKfLl8tUTIOefHNwxRFgWMraNflyhlCeOJHpWExXPs="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.1_1622021585763_0.7405760133168464"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.2-rc.1":{"name":"ipfs-grpc-client","version":"0.3.2-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.1-rc.1+48c4a952","ipfs-core-utils":"^0.8.2-rc.1+48c4a952","ipfs-grpc-protocol":"^0.3.1-rc.13+48c4a952","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"48c4a9520e4ed668f4eca2fccd67f9849e967286","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.2-rc.1","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-XkmHaV/eY7t3RV/uvvKhFloHnBFPcKAC4UVfTe27hqG/md99VKHLh+KwQvd+GK2JmYGu8jD2yFYrBIuVICunOQ==","shasum":"b4023e0a1d082626f7c874d6b6f650a779ac0c88","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.2-rc.1.tgz","fileCount":48,"unpackedSize":293720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrj4lCRA9TVsSAnZWagAAKMoP/33mXH/1rxPTBh/ZZ60A\n/vsZyMyKyPzoDbuf5uvULxlUAKDyxbVcRc2QAICOBo7K4OQU9wr523OEGr29\n6i4EiH60gVMfm3XdGGlrt331JxCE+nSo0RDZYFYBE+b2fkvzYuWiw66oY8kx\nhETXGJHzDMlFHovCKxL1TzQ0mg4jRN0oKRuHLUWk5lyehIF2FLQZJbKJ7lF+\n6SIYkt86uWGelJJGEqsmG3alimSeu5U7Hv6eSzHHVJa8A+btm9zET+/va9z3\nTl+fnOKHWmMcWEhowJm1ejcXjMxL6kOggXsVue6wSAXPwmIS0NzPiljIzS8X\nN9N1fs7djqnpiB22is3WbaciWYyMHysiVf6LqMaYwBDYA5izQwItVd/GJaUl\nrqAGa5CazkuqdjyfADcNBKrVyQUOZyeyslsDtJPSNEF7AaCPQCcnHzfgJvyd\ntdyz4buSK/906DVNC1AEHjOktLScDbOCEF4poDnUKK9zgcqsBSSNP5vf+ngg\n29+91fgMj2xmrshlJgD5ESj3ibdnlnAf2rZnFL9vNQfgMPoe/l2GkuB4usBp\nBhYDNKsT8yFh3kUL9+Jq++odvtbU1XTmH14wdvGFt20xVomZwP25KbthJBKZ\nYvaO9ksq4cESkroieqol2rbk1avtWh6/4cV3ubHZvP4HeVk6f9utmZKEz3XY\nkWx6\r\n=BV+x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDtAlJynEFIKvnh/l/CzgGBTsMisFDf0k7E/Tb9fM8IvAiBWTmducr1TkNVQDmbdVecWQk/BqNdhPW1zbD3ClBMpxw=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.2-rc.1_1622031908823_0.2367116515563783"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.2-rc.3":{"name":"ipfs-grpc-client","version":"0.3.2-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.1-rc.3+ff56373f","ipfs-core-utils":"^0.8.2-rc.3+ff56373f","ipfs-grpc-protocol":"^0.3.1-rc.15+ff56373f","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"ff56373f0606ef2c59a61916f02e42ff524f16ac","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.2-rc.3","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-NnaA43TAgQkou3f2rkgaBMkhkiOOm+KdptmPS0TSWJA8nP3g9cx/PWdAKWXaqAGQMfUcjkSHVENHWXg+YTFbdw==","shasum":"e61d1952f1f6c64ea73be44389fd90ca9875ddb4","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.2-rc.3.tgz","fileCount":48,"unpackedSize":293720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtpr8CRA9TVsSAnZWagAAkxUP/RoO1Bhch7lL22Wo6gtH\nBrQn6pSJR1IxHk4D6Ka1OccCaEcfcsIG7JDNRDHQrU4eg0ypdb3nBUoIh6NV\nu+RKMxCfB1/nLZ3WrfHFthA58v1iLDRY8yKckiObx8L+2zyZEF1Y72vWtO5o\nzE7DGetdYbR25I6cz2C4PkElRyQp7r3o9cPbVMzZ8BJ6FGB7rpHkYF6ZfP7G\nW77gVRiqS8QBF/jQOcl9K2il0uJhzTFULn6xLRy4iit6lXjlH8Sjilr6Ldjl\n00Sixc5B+Sz81hqsPgmc9I7W6ZlDhXoEfT0T3CESY9gVKWDzO3MM9xSmzJxI\n++E/fiPD0poGbMbo+P1R5EDOn5nPp8D6WIOSvwpinBhvtrAgGquX/tFr5swc\nhxOyrzKpbpvg2A7MOn8aoqrpQXovky5dN/14J4qSE5RRqN0FAYPm8awKbjh8\n4Bz6bxQnZBoQkTFJF963L3WRWCJ9Brrgwro32nI1jFegB1z/gePfUbCqfa5a\niR69yGWpIhRZ2efzgAmCa5rBEIntcijNL9yScf16r3Ys6gPehLAU40Y1eIdj\nMjSslPX80F1Nhh7cw+xZYnnanqoZc6gzpKvVqohqiY555sKAhmYGtCDtfyG/\nqDPSu1QmBQ2EP0j2DERViR3ziCRwYYRIYTaryFSQytIAdcFnwBIz6szZQm1j\nU9lJ\r\n=CPDQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBys3n1N63l+g4K28+TjHqALp6sK8hxR9Wm/PE3RWk2FAiEAsYmV4+E5icdOAwNcCaRk56dy/FRK7uskax4Chp7EtAo="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.2-rc.3_1622579964037_0.6760410028963846"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.2-rc.4":{"name":"ipfs-grpc-client","version":"0.3.2-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.1-rc.4+c4a1aea5","ipfs-core-utils":"^0.8.2-rc.4+c4a1aea5","ipfs-grpc-protocol":"^0.3.1-rc.16+c4a1aea5","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"c4a1aea5addf902506e34d3d9821285ff0423710","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.2-rc.4","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-ay596D+Mw5OdzYV/IkCTNsi4Wt4IBw9subVYCT05L1IRh8Lw/meFQON14HfATOKFZ5HRHcu8OYjhFaLpLYvMoQ==","shasum":"23f7781c89c8ab216f3f0b63e4eb9ae34537e420","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.2-rc.4.tgz","fileCount":48,"unpackedSize":293720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguxb4CRA9TVsSAnZWagAABBQQAI2fyTk1nMOlCKymtnLV\nozbTuG62yZLZY1vzbWbaD4Y1ZxnBjR52ca+UkH+cDHzeDCwSoBw6r6s2Gfe4\nXEKNGE3qEoLsBlIKLa/nYGZQ4WFrrX0LoXl68yO/kPNTJ857wjM1fpMjEZNz\nyH3FJTvrleBPt53IHTQzC4L3oDz+eCFAtAGAF927VIv2yZRFLVyezhPMoWIG\nmbbXsfi8dJeeFKNrHOcK26eiVuZ81pwvML58PWRYHvSHvGI2tdabnJyVSKZD\n0nbLnDUluYfuGUzyJjdJe1kq7cEp4lXAcKOukafK/gMNlCUnaD/g0JEUVPDA\nCFZdTVWwkYl5iRhrL76qbhKbnG4K1GbDEvvPc8fn6fjwXZ3NlVSHbU14A7ki\nv95x0anQa7UjrrPl9jSgnE/JrRcZnHNjBKPlLQbdKiltTC4QIoZ0B5qPjoAX\nTF38a+xbYJYO6RUjtNGDbLLfoAfg4PbZgg4hbNJJ5Sp2gkGFNV2TQG7apxtS\nksnM8TnSmIDqJHaVNdguZH0bnzrVkgfsALf6Thv43n9zmTGpwjRBWo1KlL2D\n4TPraNV6Jeh2vRBSaNKsDlLFgUEgoVADdd0m9TzW6WYAcRqhkwUnPQZc4ACG\nm8M0trGF8id6XlgV970sHImAmbgnSbsaTJ2NQW5P2m7fkuVJMOcwSjLLzDkL\nWMKc\r\n=q+Rh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC+MnRKYkuh1oc77FSj43NuK1Tu0l0IZmrKjPFXxnqHgAiA8EPdqGHZhARd0g7Px7Y/mI4ybgbJ0KizZ/QE2+Q8iLg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.2-rc.4_1622873848283_0.15168441687436385"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.2":{"name":"ipfs-grpc-client","version":"0.3.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.1","ipfs-core-utils":"^0.8.2","ipfs-grpc-protocol":"^0.3.0","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"08be8beb2168f39252affc8e840ff3e185c69a44","_id":"ipfs-grpc-client@0.3.2","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-tHgV4DtCNYCOjp/bp7KfyerbooZsI2bsYl1SijAdMgiJZeFsKDWHrItRIRAt1FUPl+0fOgDKJcrF1ZyMQWq7oA==","shasum":"1d10d6aa08adb0fe8c67635c56246122c3212cf8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.2.tgz","fileCount":48,"unpackedSize":294687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguxqYCRA9TVsSAnZWagAAUdIP/1GPgShHVIJBXIvsjW13\nlqQOxjhCJqLfjN0U8wmGcWddTsEi2AXMqxRVX/pB7PGDz5StEp3CookBuo/c\nwget68S5P6DVM/DQNi1C7t/0iKBuyCgBCwB+meEN9ZLaoDpmPCVn5Rn6UzMf\nv7d3jUbPfU2yKwRCmjCTNO+HJ5D6Ox1A3KmXbFkkxLpULnUeR7NB5kJLfdbl\nK+NPr+4gdxNdjB5QcDgQxP9V4eCfsAmAe9H8JHsJiZJcs66u/SXX392joU/A\niIcGg5PXlnaDLRbirodKqTh1YW47JF5q+5VjeEkwm/thjQ67o03OHJWIIAx3\nw8I+sY8yyDsOF8r/x7i/XcZWZKCgL1waDR9AKdehdLOhkgERyWeGLAwrDx7o\nbTiNfTbuEl+VUubidSrEdLMPgCJeF7jSLPyDdOqKbozqtXYomhEpDZmk6C4/\nJst9u+TeYpz3V4XN2Wjn4xid88GqTRZnHAis76/IrlCRLTUakdunOvUvDlo1\nnDsPEfdHKoSnou6XsdvM/dBwYVrn+2CFZ3k31HX9KafVTZ1XUucb4WTjeoz7\n8fjPBQ2GlnC+iABn8Xsln9OFkR0zbTCH6IaCuMmJpyxr9eFA8AcTNzFW8vnY\nTFsup3GGbUpGqZFo0pvhmif+O73JJmHCsFwwnfk0toyiS33YGuSGQFL9O7zQ\nF2/x\r\n=cqHz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChqatUenhIYGYFUMsXyZFc+okul2vnqMwaPe0Ccy4yBwIgcrtNXpjrsPpKWUjHncJCvBG8hXFWNxrajFypBok+NFw="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.2_1622874776491_0.6695787079511872"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.3-rc.1":{"name":"ipfs-grpc-client","version":"0.3.3-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.2-rc.1+714c3de1","ipfs-core-utils":"^0.8.3-rc.1+714c3de1","ipfs-grpc-protocol":"^0.3.1-rc.19+714c3de1","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"714c3de17f4833b8dcb7c0ff51536661a22cd6e9","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.3-rc.1","_nodeVersion":"14.17.0","_npmVersion":"lerna/3.22.1/node@v14.17.0+x64 (linux)","dist":{"integrity":"sha512-MSlXaqSIc6zDnySz4J6YH4FQPbFv9Cx0EGOA6UqDKlm6Og2tzOC9cZjouwDowL2ENwaz6svtAHNZJiMLJNSN2w==","shasum":"b72da398476a2dda1badc57f3cb1e6f4869d0548","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.3-rc.1.tgz","fileCount":48,"unpackedSize":293896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwdrYCRA9TVsSAnZWagAAbbMQAI32hxx8IfsGaoSt30Qp\nUomIVaxZ0aFNSzz68I4shIJma/zHLirBo736uOry1x2GgTS6mUHzuSc788YI\nn6WtkFZZ7hU57+6Mc1VJYLCTlcuCrqCgHsebdjPxfaGV7DGbl+6oi4/6JLPH\nHq48xJ1SntJICg1zncGDTuCxRGDabUSyT/k6MDrYoNFjJcQzoqS+thU5zIuO\nT1wEMklwpLJX/kCoTiUMkni8vy2it+ad6CYlCpcDMoFlEWcplR0n6qOC9QZu\nyeJaHo5eGdEIxSd405X1Bgexoap0rb5kOdNETTiSA4X3eZ3ryhQB73ePSsVC\nrr1Asz9xydn0UQdQcpNET/UkCt4hvMnSmm1+GxFuBboENPl2QZLtFg142E3R\n1hGqRgKXWzv7DNquV3hD1Ouf+9jVRavVgR9kAkJx9TmMH/L1V6TPbmIJoAte\nu3ZdNHjhMUnVyB8nB3fp0Er8ycJ1GQc6PNWM6Ojv/CvaQhzzYwJ0dgg6pDlv\nhcqvi9BnCJIxZmh81lsWmKi6kU8agku8/m0Mc0gajMwHzK2viddyQMR6ag3D\nl7aFmlNeGJ/iiPxt5URCDNK0RsPWWZVkNbxS+p1POGzbunpho32q2MXy/X4P\nAfQBZ4pDne5ugrGocgu/gNoYsAbFAaAPozI9iFtkfdJVHQQWfAtm0AxRbX9Y\nS5Fd\r\n=dLV/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJ0GERxDZzMFDfkl6CB9UOA5YSs0EuuTtV6+RXaDWQFwIgH/HbsKsmUaRFxZXvJvapFfOKIqcjZt9MNrH9D/JH4lY="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.3-rc.1_1623317207886_0.07087971166967022"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.3-rc.2":{"name":"ipfs-grpc-client","version":"0.3.3-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.2-rc.2+bf44a037","ipfs-core-utils":"^0.8.3-rc.2+bf44a037","ipfs-grpc-protocol":"^0.3.1-rc.20+bf44a037","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"bf44a0371a53325a8ed10c93ffd3514b995185d4","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.3-rc.2","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-G1WTMBL2cbTtCIrWCJFSVMjbpYlFQpfgH+qH11MfJuaZ503CRogmXxeT/6mwPS+2tDsQoFsTONiVawWMv2V/Rw==","shasum":"a1011684217522b511ce2e90d5e202e13a288128","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.3-rc.2.tgz","fileCount":48,"unpackedSize":294883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyNoICRA9TVsSAnZWagAAG4wP/3wxV29TFZBNM/SQgG04\nwJLj2hx8bs9Q9rMkY/cyYWARYLKamBi2r6Md6/AoRt3354V77nfTcYXw6eyq\nq31WqfB/A1w0NV/Kj6QNd+2fqvmrQqT+s46jC3ZoZcFbWwrTyZ34u1WuDcGx\nwGZdDWn1j3S4qXMvpjNxgpuCxjueWFPwuOEbPWD9WGY16oLs2JwL45UWCxZ3\nALnLrUBlqGmgdhC7BgTsmib5jBS1iGMmtCuSG6q9QLjq9OoSsRXXyjNK6Ogb\nDDkdktSucgxiaRzUK2B2Vi066NZxROK71oaAAzkMMwJlCJTkk9JDqj1QIVhz\nF/DJgvEaCEwIhbVXmqoEoBiBv9gg3y9SExshNbY4XW3kiFQ5CEg9uSbvdYr2\nzmjSX21iJvtpnMis73/xW4xYPRF/T4MIK6Uljr41tWZyiUKZ+vGV8jAvsdDR\n9wIgYlMpR13iechOqHArF5BQcAT5/Qh4OyWHZX5+Uv1X3xj3EJKchGr+QwTI\nzK62AkD5WcS9Kw1Vi7slaKciYv+T0jp7/++P7oqVCjcobpM62GyvPFowrYH3\nNUv7XJxyte97E1MC/MpxhIYJG0YDtAUZO6GHhiBo17vLfKBTVvbhD6CeuwQK\nOgdvABp3ICGb8kJ932S7HFFeJEEKFcmMGiNfN21qPdk0gpvedhPei+3wfB11\nsNZN\r\n=2tvy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzIRIvyR5eKObTFd2mnFwVKmMC8tT1VCpqktI9k210YwIgG/NqaW+NJDiywHTOtLZpYqiqnxkxIa2QUcGtaEG7kws="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.3-rc.2_1623775752672_0.542059933914288"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.3-rc.3":{"name":"ipfs-grpc-client","version":"0.3.3-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.2-rc.3+b1bbf5f0","ipfs-core-utils":"^0.8.3-rc.3+b1bbf5f0","ipfs-grpc-protocol":"^0.3.1-rc.21+b1bbf5f0","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"b1bbf5f004fde7a26f8cbf6e0bd7356f07dddc94","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.3-rc.3","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-mkVN1qnqQheNx0HADYoByNrpWv/7LTFd0GjOgyeKo3nvDB3WHMJaBYDOAF3GfbOZgNyCma4YIoeSlRyr2YbQ2Q==","shasum":"98f2ac74965369a067b921a42f5b0cd9bae1e541","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.3-rc.3.tgz","fileCount":48,"unpackedSize":294883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzFUzCRA9TVsSAnZWagAAHREP/3ZJYbZl27e7Gmetxmwz\nKMIUCa0z4r5fM/9BHQ/VU98suq3Je91NatD3Zt6JjcRIEEzv/wlynYqW6E7v\nD2U+pDoEjpG/AOS+OcmI7g3Af8QgluWlMZdvc9K/v1NtpWapvxdDYtUQzZcG\nMewIV+69qZNc7ZzjHPvcqK+gblJ+yJ7JmyN9LQdvQrqq6/s1+2Nba2Gw8d7x\n5jlZqFog7E658W9FRfXrIRwyMpDJcGXtbFIjF5Ds+8ra2AUYaUBSKEKTTbap\nof+3WEPIAFf0IvzhFdUMGz/4e5NfG0X3wtoGkO8bhNQlFTKX1JR99RGc1bfY\n0jzSwgmbTgcBOwQrpEuYNiFUHr9e/2pUZAsnLH1Al2s1ZQ7pkCrC2b+9Ev9k\nqHtXWqmB1w84BAKQp7YKd1h9Jy+hpddWcgA9PhYG0eSbWDtVbJAJle+NgNP7\n2Z/UCkn/cykcUs97o2aoF7ZnIILcSPNM+kZav+IXZXAaXXXOclPnT0loHKvW\nGuF/zyIa4U1XvGwZoVkjlc+bdHbxEYIr/u9U18OJYgV0zr1/grJ0KvVq5J7O\nj9t/haUHbKimQXskVdewCeY7wp1k7fRRD9O6MCXMAgyvig98mZC0q6IGfwwN\nYsP9K+mUh0YeGkwicSUYRoRVYignYBaq44tBoRzfGvl4DI61BKWw61MY+zkJ\nN5Ef\r\n=+wDs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtCSJzixTs+Lk/69raeqkePr3hZ7ZxVFRQ11yhCxTe/wIgfaFkqtcPuR+HZAgE+0c5qRq56YreCOKjQEbI7FtSMqs="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.3-rc.3_1624003891225_0.5938366578481069"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.3-rc.4":{"name":"ipfs-grpc-client","version":"0.3.3-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.2-rc.4+7c1afbdf","ipfs-core-utils":"^0.8.3-rc.4+7c1afbdf","ipfs-grpc-protocol":"^0.3.1-rc.22+7c1afbdf","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"7c1afbdfafcfb81f698cea35cfa0e392711d40a8","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.3-rc.4","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-QzdU9mKVy0EdzD8rB+ltQpcmpzuykeDQJk/sL/zDncST1chIY50TxVT3IpuBCDWCa1UsmCdhNbwTJG9jd46+Mg==","shasum":"a29949ac121a6cd6b14f01dbf855c9fc26fa021a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.3-rc.4.tgz","fileCount":48,"unpackedSize":294883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzGWICRA9TVsSAnZWagAAiSwP/0pAfpCZvoUoqfAIiJh+\ng624IUy4jWurNohx+i3YWOeV5jI1iAE9af4vtvWShcHry6x2uqhoj/p7t6nu\ni57shAgli/zsgWqqLAUI/TLr2MpcK8ugCURVseFM/TdISVZ+GyLOePtJVRTX\n5GnZJeuReqbYYy/i+PbRMq+CmV3lCNH7YlSw+twqIpkofRlOjWfXzo1wLi2w\nv9H99j7wfradfNnkwvp0Mb1mUB4fe1xrsQcmvN5fK917Okg8FUcBRQUhk0XA\nhwTy1OKDDcRv9dDDdHMfFBoelPf0J6hEE3YiUr79M3G8pQoQz3PsIZcQ6XYO\nByQK50isQLNLPVPjY1xtRIOiLJiGAq5ISfPLgQ912w3l0Ai6DpDIqM3weuxO\nB8/Nlr7ITDPviNWKEDfINU7TiB4/7dUFeKReOmU5K2qY9bgoD9aTf5P4AELH\nY5oWFeN3YJ/ZerRV5jaibqju4nG81UfUDt04S4dBU9itRzLo1re2CQOYRQwN\nekID1AlCD9icywaDDJvwwHlTOceBO65tvZriD4FpulSsmQfZYEs4KQH6CDi3\nibZwL2txZLnTg+2RA6SruhCMBFptpGtidBArBLJ8Xx5PytH+jCAjDgXPREnh\nmeFc7MzxzOQ1ER/ISJuz0wniGrH1kKs+2D+HHlFC13M5WSSLp5Zyk5g7uTvX\noeab\r\n=GOKT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwTLIRQ4d3hiSA0ktFpypizLut/q7wdcvlEoEKgb3e3QIgPhThoc72VPeL06CyXtSIpVymWQZ125VsO0ecNGaLNxw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.3-rc.4_1624008072267_0.078717849771343"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.3":{"name":"ipfs-grpc-client","version":"0.3.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.2","ipfs-core-utils":"^0.8.3","ipfs-grpc-protocol":"^0.3.0","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"81f944163f5a78ef15fdc23b2c488ba7f44af0be","_id":"ipfs-grpc-client@0.3.3","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-TEuhIcv4EyV5/rlNBPRgb61SOFWXZXM3JT2mxg+Lv9+pis3i+LskBp6+1fpOOH+t1NBs0MWbL5ET6eUJJD2FaQ==","shasum":"d96fe09434b5cad419c612f2e8fe2e52ee6a0f39","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.3.tgz","fileCount":48,"unpackedSize":295002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzIByCRA9TVsSAnZWagAAzPgQAJi2ifH6Ne3gfA+ibhar\nuhnXwSrnwz6XICk8CYcVlT5g+CBlBIOxH/9VAtE5jzIiRHRgCzJi2pfyn+8B\nfDoJdUCRzfwxBLcRTVKyeojSukyDGTRFGcy7xgq+D9WAdqm4eMmrveBbbilK\nY6IPB4Cb8uUBVoPOEzF/mPU/LWOgujNYin+939pWtH5YcCuLf+IDAOBiSA/w\ngsO3ahz/RlnYGU97t4vV5CkQMjY7UZY3P5952Fz1Qxz6wZx0K/z8A4T3TnD9\nwCNXIb0FyefjE2LfKU/y714PoDqm6AAZivZRsq/sVcS+nGJboHBVnwfaz5Qm\n8Pizs7AmURpyWJYwFvfk3mVFGU3WsLYkWlYk0d9laNL6QnIeKicjmq2vUUIT\nhVEvJFmlYYbm3vweyOO0C36X34oVdnGmWF9Z+W3ZVcbgmcAQT0K9nSBzJ8KK\nNsR4dabYA1HRz+8x/X7Zj1ZuhOohUutziLfxmmqb/qd5hoaAoVZtuyPm6Lm0\nOWsdXJYGSU/vAibmALMn00REPWZC2l4zwxabkQYijeZyMHUxZLykZzgItveg\ndL4puoHiSRqPHlosxicLp4l2m97DGhr8Qz6ZzGOzSDGIOzqI5lN+gR7S3Nv+\nC1zhZuFDDqIvldYwjKaCK6sswKe3WlVmYUvNp/3oUnv6migCjzJw1O8DTUOV\nY3cs\r\n=vgiq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjI7eQGAIhg8teapmDeQGbTicjwaFleom5akQYvhq68AiEAi9/wdmK5r/qLK+xMmcT7QDwFWZkGlFRvaX97Rr1c2dQ="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.3_1624014961684_0.8286019414530403"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.1":{"name":"ipfs-grpc-client","version":"0.3.4-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.1+f4b2a8c2","ipfs-core-utils":"^0.8.4-rc.1+f4b2a8c2","ipfs-grpc-protocol":"^0.3.1-rc.25+f4b2a8c2","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"f4b2a8c204271922ea34ef8c060592eb56a2a1bd","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.1","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-5MNABtOboQ1SazbTY1kUN+DbdG24uQNsf3HNZR2HCTJxrwk5Q2MTaHiDYWlmWAl+bD/6X1+khSAvw/ArYqqdvg==","shasum":"c6271de65ab068bac41d4dd780f9ef4258e6d9aa","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.1.tgz","fileCount":48,"unpackedSize":295059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzMKSCRA9TVsSAnZWagAAingP/22a6SLWj6k9CIKKAkYg\nGvMI7zkC2BfhoKlAV4OY/it+gi3eGh+BlHpRT7fM/LwPz8fSZlmY0tFcHfET\ndA9wvoexXCDk2Z8jsSELchmR9D96jzFBMhB0bO3p2z0A84JV5e+zH4PvioOZ\nNQ7X3/BBngEgL+r5ssGfoqLwQzIVK4Tne4E8XcmRWy9opzRGWWWTc3Y10Act\nnQwyFNcQmo5HTi+zqsLK9zCEgELf4trandIp1EbVyTNAnvp9OS4g57XO1qTy\n9YoT1knMfJtwc2HXwKVosvTAWquU7lUWwiBqIBzMMNd6fngQw1sSMKX/NbOY\nqhTBchsL5YRjMeAZsT64QSWQHy4uY1Xz7DDstePhmdnGcrYPruTwfCdOnwJW\n7ylKgqZC6jSimhdnFHIZD7pGc4xpZ28RImGGZgDIZwFzXmnWlEX2NNvTYIxb\nn8Ce9bsYO8lh5ptCf0QPcCZ5BNwL4ZTjIXwGJo564A2L9l8F1F+WbVd1DwFU\n8NLn8FsnwcrNx91HO1zET4199W+Xy53s/93RjJ0E/iiH7T5C5kOWytdhqi2x\nle0gB6Npbs6e9s2hNX4Lf2h7+V8EIJC7aj5ocw7zQbi9mvpEiaZt3GUYeNzw\n87VpPmsYXy7dwV7eHzW2LAX/JwNRXvFqSTNd1dxBj+4BemOqLQfINXJhWJwa\nxnAT\r\n=V+QS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFvAKBvo+Oo/RG1kFQybZFe9xxQlaoZ4lBjJ3VjsLN3OAiBOJz8Wkd6dp2cXQS5g0GAk3vg09FlUi9Sr9AkEbKFqhQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.1_1624031890055_0.20372355458049918"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.2":{"name":"ipfs-grpc-client","version":"0.3.4-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.2+4a4a360f","ipfs-core-utils":"^0.8.4-rc.2+4a4a360f","ipfs-grpc-protocol":"^0.3.1-rc.26+4a4a360f","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"4a4a360fbd368b8b27653a81c9301820c93d91bb","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.2","_nodeVersion":"14.17.1","_npmVersion":"lerna/3.22.1/node@v14.17.1+x64 (linux)","dist":{"integrity":"sha512-SgiMaxpL5od0v106WpiaYDrFXvxO9WgrQetfs9CGgKn+dJRRfZD7e6DQtBTVaK4iI4C2iZSmYg4XU+6osSzuGA==","shasum":"a4f1163c7fda43e95a374c533f92c203a3678e02","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.2.tgz","fileCount":48,"unpackedSize":295070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1fK4CRA9TVsSAnZWagAA2PgP/3tz7l1h5pXPVrGL7v9+\nfA/TWCDjlf0nMNZs0CSR3TwFQXlPKwx32clth0QXIFeCkJtOVuqCYVWHE0K7\nBQ5Vv9JQH60wRUjJC9Cgy2fRBL+0c9yTlYRp53aekUPR6dqc+xFCnjM3cmXo\n659r1Xyl73Qlv9hJOoc5ft7vvEa407hhA8tIN3sz3bPwCF4VN7rGJg7zkMMM\nOzPyi27+RSk5L9WhG4MQ2Ta0VFhtEnnIUEzDvopLmc1jT4C0KoFPCFmfyUgB\nVPzoVJx5ddoKQjRTq7o9mtU8zeExKXlWZzYii5WZN6BXLWlMggZLw5GLR61e\ndyvRIRVxmSlwNO0cxW/H6ex1/r25owzF5JdaF0M5xfuvwunP1+KZC19KpSiV\nQWeJn3doy4No8ICJG99KcaIkOdZLE7NKaQ6/HgIBaWYcjZFZFCju9bBqsPX6\nA96UmhIMuGFlPKIvdvmzov2JH2XzR3Jvywm+pVRWeH/WnJQ5irszpUSk/L+o\n/iZwKDLLMF7CkHnYn3fKA/9hJKWwEh4bT3y48eeLmXGYLv8UvvG0C6YvLkE5\nSBZqPmA4Ixw5pdruIyhGaroLHAdBtzRbeV51Cyfq/tKWKBv6jSy9QRthO3X2\nAHmiQ3U7+eQg0zGQ+Q+m6gT/2KcbRyqRmiHdko2qD1V/Si6Olp50jIzNdYgn\njDr9\r\n=pRfM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHv3/U0o+8jYyTVswOConcnjbgGEnq8AHFe5BMBLlQR0AiEA365Rfisu8HjC/6UwdvzDe2SLg1gNPEYbDWviQ6Fgi6w="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.2_1624634040068_0.1392064340594581"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.3":{"name":"ipfs-grpc-client","version":"0.3.4-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","cids":"^1.1.6","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.3+88dee13a","ipfs-core-utils":"^0.8.4-rc.3+88dee13a","ipfs-grpc-protocol":"^0.3.1-rc.27+88dee13a","ipfs-unixfs":"^4.0.3","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^9.0.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^33.0.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^10.0.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"88dee13a9246d841648d31edf0db62e4a4f859fc","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.3","_nodeVersion":"14.17.2","_npmVersion":"lerna/3.22.1/node@v14.17.2+x64 (linux)","dist":{"integrity":"sha512-isTxGzYtVsCY+rQzHlh2k/oJW47HsBbMT+7WvwePXfJsre7WADipLfqBAFUH7ZS6iq4RKVIEnyM5dueBnXiZCA==","shasum":"0d1d4d9e40c8a3c46c61a6d6d65dcac73680e6bc","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.3.tgz","fileCount":48,"unpackedSize":295070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3efgCRA9TVsSAnZWagAAFfUP/3UquOu67tAi/dxih0t7\nsIQbFB5x3vLKaWRpErOXBFfu70E/DhrtaNVvHr6BefotaLv51q5uwpolJ+F1\nUeO6EPhQX5dvYUNAVaL0k+Zh+0O2es300UB92M9xtYs+Y0LRJ/TqCLdCPQxD\nXVN3hqALYMqU2uevCmFy2PqaVBXktMGdXq6ZI6ZXRz68qkONI8miKtLo9zUo\n5xPP6I9e1IzQDyB1vJ2WskE9rWskEEO66TCluM/c/a3EW/hhLlgnn1ZqoLyH\nPYLnJ5zxIe4KYfUD8hnhX0NzLKQi9+dQ1OQKYqkd3mhKg5un1IbwZ0J24Dxt\nLyQ0Levl1xL9gxaeXJr2y67I3fE0FZGOXMFOGcQD71QCQHNdNNDShRhyRU53\n3r/EnhVBY0iyOqfwifRcW7mYSNrnmb8/uehJVSkg169DfVxxIEcdGOKlyMNq\nNTNhwWbwvaybFjaZ05ghLoTH6fv29EXql2ztN2ijcZSpXrlB3G95TyB6cGGX\nVr4sJzkyvG+dQE6J9HvID1xdR6sJQGf1BEYuNZZwEZd0AW3I8d6U3u4+euZi\nTHvJJ0ehnVXi4+7oUt9Rpa5WPy74M1LmlmBnnZViuoOvEOsamUlhdviaomsv\neuVC7Uumhhrgx6Nsti3zizhNSJjR0pKc3U/VuFDf1nJezPB8Dt+DCQcK8xOV\nvsz6\r\n=KL6U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGm8m6PfY1tYGaHriHDNBpRFaA+Y2cltzkBAEpuNJ8ygAiAsYhcbNh35mMOXbjAXld/ILcPFHqMxR7geTxADh8Tp6w=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.3_1625155552406_0.9596209053634743"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.6":{"name":"ipfs-grpc-client","version":"0.3.4-rc.6","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.6+4155de5f","ipfs-core-utils":"^0.8.4-rc.6+4155de5f","ipfs-grpc-protocol":"^0.3.1-rc.30+4155de5f","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.0","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"4155de5f78134a6cbbaa4551d1b35e8e44b580e8","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.6","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-ig8/Rdv+zP5bbHO/5gdWmn/rQssmdNVS+NdHXdYvZIQJeQCqEVZHZVIj0EtF+AXU3zztOpzyIZdM9haVlyCI5A==","shasum":"5476233c7ed70c0c5235d49db418696b08c21fcd","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.6.tgz","fileCount":48,"unpackedSize":280331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9ZrZCRA9TVsSAnZWagAA4A0P/igM7RW367DBO/PJWJjX\nZiObsPo5DfR2gwLaTTRzmnxdyRd8AVOGFxHEh0UmtDZr0dTJlmHP5UC/ui8y\nXQPekEao88CB08FH7IkeBPMDcExevEGBwD2pI1flNsiy1pUdTIF/D//SdTsG\nuSmMeirg5dNXxgOigdNdxL5Oiia7bLo8f2q8FlVCdv8OrIcdoeXZKtxAtWqX\nc+hqoPphesgVcgCKDC8L0Xi/EReooE6mAubW1tKl8DU7K7L+Ym5dPY3VW2hb\n/dDDMMv7cDmFqkUbFaoWgx1w1+RAXCv+EJF1JFRJJj5/wgDQ5u0SMGVRYRHI\nPimLd/bNmR7SkGtGFTahsuuiQeFHvvfKk6LHrNGZMGllHL4ebfCfQe0IUShL\nfdJ1s3ZH6IR0kMs/PPRBGxdhoAb9hHC009fcP/tf9k1kD/n/r+bdlJh8qKoo\nveGavfSuifit7gutMojaN5/SWb3iBtyQjWTNz2Xj4oiA6K+F++7g3Qft9afi\ntD2xFCbErxmUfVaeqGjwKZpfeK8tdlJIEhWYz0j7rJh39jlJFAkJHXxKt2qI\nbu/uQVKg9Ig+7gH91yeuT/LzMUzBqrQuukeI0+me7otOtig1qzzI+x0O+UcP\n+euCsPEqHObHmxuo+G/Molq74pUTn8ijVrXxBf9BlL/2rruLVtYT5UaRocI2\naSdg\r\n=1Kdk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1izJn3NKojVzDOUVueVyGnevkx+cNiUvSoeE/nbCa7gIhAPvj+0lR+aeYehESSM3fS9ktk/V5YxMtZ9fImrJlv66j"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.6_1626708697460_0.30880486288702413"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.8":{"name":"ipfs-grpc-client","version":"0.3.4-rc.8","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.8+50361a7c","ipfs-core-utils":"^0.8.4-rc.8+50361a7c","ipfs-grpc-protocol":"^0.3.1-rc.32+50361a7c","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"50361a7c0ea69489bb24f6922319601e3fd919ff","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.8","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-zlGeJFI2mzYdI1JiWdTitrkeyMhRLfnkFUBZsrSBXnUcTp0M3Aevy8quFY5NlSK8L3XltL5fMjuyFsmWn9awdA==","shasum":"b00592d874508b84974fa26fa5f31ed60de06918","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.8.tgz","fileCount":48,"unpackedSize":280331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/9HkCRA9TVsSAnZWagAA/8sP/38u2cpTSJsqKD5CXeL7\nDuwuBNB6F5yJi4M4MgDdYIlHgUkomQcPvYQHtFSjb4YsfJjV9kTUIxrz7dwM\nnrGGzM+vfjCJNbo03y/YZmr9aEy5Y9tioEyx2aayVfS2ZmrcpJSPd75MIgyJ\nm7+Fs3uaTd9y0Nu/k10ZMWeeknBQXAyMEw/+M98/uDF4cBDkT83dXpxoekMB\nQ/GIC+GY39/UD5a0QzvdVQrpLNpCgktSv3vdvf4KztyyNEdHkgRE0xF7iKMq\n0fcNQ6iHSNWm8bKQJ0kU/h/gnVZae6jvkwM0OfLn2sMMUhoJhoz1t34lsU+O\nq+4Nky/p9DsWyMIbgO8J8ZKntQwiKaO8jR/lcGmlXtSZ/zF5YI6qmzEobgNC\nprO859FlUc2LmUY4qjfjVWjm9bWRLRjXlQrsLXK9nAmzuA5cjl2THK68r6NO\nOxAJa4c7b/2EnnOwX0hGKPgZUghmVdMr0xAt74D4UFUsMUq5E7u342r+OAUZ\nZGrgVg9Ua0b2c9dYt31zFV5Nc78zcc/KWlqoge+qfrVmjhuuQtG4QquatyvH\n4e0rw9AL+duzLjsJacAmNk5nLgIaYJ0YzrG+FF7kCdZNvZeO7fQb+roIuz+z\nEyPhcT14v+Paa2g2dUDOUHaXQRolzQHbed2wyBF4MysF5zn9kNrKk3mueCRO\n5SzB\r\n=H8be\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBeV+rFtEimhQTDFD6V0ktT3Ym7AY+hf6LPWVQw1uR5kAiAjkVzEyNb88MVlMxGa5IyulsScBq33bx67cmhFXjRgQQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.8_1627378148402_0.6414294426701204"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.9":{"name":"ipfs-grpc-client","version":"0.3.4-rc.9","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.9+09dd763d","ipfs-core-utils":"^0.8.4-rc.9+09dd763d","ipfs-grpc-protocol":"^0.3.1-rc.33+09dd763d","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"09dd763dcedbdbc52c590150bf9788c3f17074e5","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.9","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-cPTzARkDxngaeX1bPnM4rR314+3S7yNXXToSZvHo9Bw/H8m+9p7L7wP107J2i9ySzd83eGejvxNE9p6Tdj/H1A==","shasum":"3cb1b4acd1b7a00668528e5dc0b760728d55c270","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.9.tgz","fileCount":48,"unpackedSize":280331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/9lzCRA9TVsSAnZWagAAEzIP/3lCApibmAPPwe4JJFXc\nK4PBmgpTVWJQcm4nbKJYxoMGPTxLRAbdoerJErRki5eFHzwKp01iaU3sUlwz\nnhB3IF3SVWpdZ1V+Kqf0q437/vyL3QFfFbxCa/6OVDQfdnmEi49WS3X8D5Pk\nV/mo7LhEfg7YCsuOkPKgWIWqqwOI3m5TDO1Gorq5SSyfBj3JoD5BnUCxUTiE\nt47NEVZGqUlnqXMPBPsa6qttLa4lhEwJuWKAzmDIhq0ea+7F37lOwamt2At7\nzC1SglJf1wtFZ2foy6yrk7KLGunhsrlWonzhhHhK7KFlQqxT6PuM1eZ6ihua\njHDovjEgf0/YRlYSiTO84mM07jqD1NGwCddHPoJqDio7ED7QvjilcRKHDzQC\n3ahCtuW/9jXfEKahfJNHnL7yyQGOgzDTHFyvmflJ+LmUsNEW7V7XjCdIzxuP\n+3gKevhfDUDP4lGzr2prk2E3ne+BiCcbAFQR5MTmLIdFq5Fz+xxkdJGgAyUl\nzeYHI4FdqGPcl7kUjAkssgJk4tZq9mB9fNQ2p6RcB3BO8AW88RlmNYYqwXAW\nuPN5KPGkKXS8tgI5VDea/nJZTbhDFh/rh4oJmRm5FPeuEhPhxxjVQR3h5PdW\nS3ku58/3ro35wtqUC0iZTtyxvLqNOQemkFSqd3n+HI4yL+d1Ba//tjaxZJ0o\nMm4N\r\n=Kv9t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeXROfDHU+rq9AyW64UM4GKcIyRYGl0OS0P+dQf2o8ggIgQW/WE6KlkFKR/leuazbZYH/gRlqr1HP9vsLV9mc20Ds="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.9_1627380083545_0.2656213297937846"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.11":{"name":"ipfs-grpc-client","version":"0.3.4-rc.11","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.11+32f3424f","ipfs-core-utils":"^0.8.4-rc.11+32f3424f","ipfs-grpc-protocol":"^0.3.1-rc.35+32f3424f","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"32f3424f86c9c7bc28155dbacb12edd97d9b84e5","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.11","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-TjOSUCJUvS84nW5mhfEhfvypXeqg5ZijuzU+pJCLPALuGbXTy//u+B2vqQDYNiCcgGzfTtLHjTs6IPiVHzS7rA==","shasum":"f9ca3f9dd54cb1f43c450c6ee01cc3a025102857","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.11.tgz","fileCount":48,"unpackedSize":280373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/+JJCRA9TVsSAnZWagAAn4YQAIBZEXWGg39b/ybFeaBX\n4/gb8+LZytgN7tpoWcAvBSRSyERCX+TTdMIgbQve6+ou2HT1/Srm0YBJqDoG\n/DFajYXhyrwa4V/r/hyLb76K2S2xwCeBC/pGF1PBVZE2S5ufLp0B87kQ0d4Y\n38np8Hnp8Fn4rcFeshEC3lt3kXPeNP+ZLR0f85cfN96fG3r922KsVtU1IW1J\nVnRP7Pth0qIUSL52fHqyL6qARKum1uzqZKxwUJd+0jiDQlwpz3z1yKRFKTcu\n0jQhfoJIrVHDsROOIR48w3BFmo+09SzUkX029VULdeJGT+N6hXRrsTl7agmL\nC/kz7ZjKHoBKGTdRi4GlCBkcVNS6qtzs5HASUjnLAskuDYNfyIc3WTG6j8+e\n2l7GCZoJ54nFHOW84qLTLC6GYcSFJ0Z9qvolhwu31/kp4risFORl/07w4CRl\n8xC+YpoP0T51Xaxp5ArddHuAnXTfhSiuUX2Fm9Wyh5fXhZ9lF8Dcxvdmi6e7\np4LcMRbLkd4Xw4fSv+MLvLv3a2tqK0Wun3HAFQSs3BGF/LKwliyXSbWbrjNm\nVoeowt85Wf/hqsMpIQ5JEE1B8kw4abHr+icM4ha+3z+aFeYPbIN8NCV7UCpG\nqZf1pBeXJTRDPpXXewcjxErMLtqBqDzGmLQTnSU46cmnVsrdEIACuJu9E+wy\njSnT\r\n=QGa0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxzlGtHYbk48Dbw7xmnUcoBY/qsYlaFnKUWpzLscZ/FQIhAPnihlZ9a7/JMmNYG88NRugR8HbWf2HnoULaouH1wH4L"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.11_1627382345464_0.05035316602195894"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.14":{"name":"ipfs-grpc-client","version":"0.3.4-rc.14","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.14+71bb03c0","ipfs-core-utils":"^0.8.4-rc.14+71bb03c0","ipfs-grpc-protocol":"^0.3.1-rc.38+71bb03c0","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"71bb03c0a3d5e64a1ba617341cd706c83a7346fd","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.14","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-Ux5hdSIJ2VqcFglSD09oLrc5EhCTl9uBv3ZVLfWtS4lZJFCQzuRtFaA+vxsa31XYr1lzc9WMT8YEwMg/AMFP/A==","shasum":"fb724e974c97b264b08e555454aae1aeb09318af","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.14.tgz","fileCount":48,"unpackedSize":280373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg//oBCRA9TVsSAnZWagAAQRcP/jhtr/cCMz/ZXHuxAMZE\nyigqrDwlliHF25ue4RVLYoFBGJwsRF45kLjuKufKX65/3MBYAa+VI9gS9AXk\nOh9LmCQgZudKDcCq3Mgip86FKDFF2sw3uf3fc8jeH6ykOpqbFelnU4T9SSHB\nOZcDOgGWMN5/gnLBihl6F4USuUHfdeUYkiuj/8H/q+WmHEPrMKdsYOyenbZs\nJosnaCk4mG6QVLBr9HiE8/U3Zlnf7BXzIAqaoBtySAw01ReSzG0aHgNKVVMi\nLxAZFe0NJDgzsh/O+FJltvBTuU++l2L/9M3VYyQquo/3SenJ8N9lsgqTqG4X\nCxaKqnyKiRtPkrUf2iBBB8zNGZCpkr6oRhcpht7itKEeTajxzCpneWu/+Wmc\nEDVsu/R+BZy1/59RPiROYy+Zg+2HxNW6LL7KVYAVTG4bocnkRYIP5lTVqrUz\nt8cenvGyS+wGJjRzAMQBy9Yf02qdGvzGItWcIlWedb9IxE+N0EKZBmNTRzzX\nf/yqocC+/6Vb1Z5W3rFsDdEPvNU8X9kr0TLGOTARNi5ysmpSqtwwQNGVZsVH\nCFlQeXMd3cI0z3uOaf2hjsbVYS7rjBmJ8QfDG3pqgFAiudLMgxBdPK1WNrRx\nuK8+BBlsisnMoiKO0oMcOcrYsLWoHoL3FUqRhRYh+eEkXGC8x2v+L6EGyjBO\nqH9x\r\n=e+Nh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0+3+c2Wm57fbUH5qlOrxP1Bbr7y0Aw2bk+pAiIRdaPQIgNM4TqInVrD8++nG6pIdoORwDXBPsoiQ2qOPO8TCDe5U="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.14_1627388417100_0.8601609473835123"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.3.4-rc.17":{"name":"ipfs-grpc-client","version":"0.3.4-rc.17","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.5.3-rc.17+3aa4afb3","ipfs-core-utils":"^0.8.4-rc.17+3aa4afb3","ipfs-grpc-protocol":"^0.3.1-rc.41+3aa4afb3","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"3aa4afb30b2dc88a8b3cc2442336fd2583e2b867","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.3.4-rc.17","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-0549SL0D+Y1UVb/r6UXbweTPy6YxUN7EmFlFCTUeoaamP4/x9RDN6fWtbIfrI++t0tFSfkluUocpAqi7lA1q4A==","shasum":"dd754da2162df351b4a94c60c8f2933d14a5d15d","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.3.4-rc.17.tgz","fileCount":48,"unpackedSize":280373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhABb2CRA9TVsSAnZWagAADr4QAIHfCr+gkNjnbPUCbBT8\nuWdKpaLDuwhzUGlJxpxM2cpVyAZxFdrORPLqLe1nEhTAlD1uLHX3m03tbjAx\nbbU79gYAD0i1lygcgvcyLBmbsHhsUzQBDDO09RAtE/7cE4DjU455CbhDutgv\n9qJ2KMaRYzCbzpWu9Y8FmsLGjnNOzsVKio5tcNWhMXFMJKy6g9m7y0DuKxkr\nroS2HRy5i4Ea2+lWmB5kuFdiSUL+7oNsEMYOWMepH+hhsbpWnMyy8kt+/T8r\nLAwrHjkU2NhYeUe9ghDpd5eUZo0ZmaBos6PPmWZn/ra0QIpIVrjdbaioIG3m\ne4TfrTHZebfxGkwRuzWECZ1asJbmuNGNZOSg+A3TC9hny14AE5ATnqqzDhz4\n+A68hpr7dgB+s7DqfWm0UGljrZiklNqWTKGkZOP9lFN9rY99tmdX5Ur9Jjz/\nVQYjzRUY6vFJgcTCtActdP0Ku45wH8O6msnAlifHjsHopPelSF6CZSGsAlAa\n/UjM+3dREELSocx0WFZmzxv1bkzqdfOtZBF+G7VRCSnOMcJdMBCuUUEZRxwa\nPl7HKYfHk5Hm6+UBwp8lkjMmpj9yQDc5/q78ZpAPYjFVIMzws1wQQ+O3aJIS\nvliBHg2jggnyHhAfwKVoDe2O++q7hQcybB0MVTaSyFQVit6/nrR+SxHFezD0\ngmgw\r\n=IME9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9eiLU0F1sUlaOMrmUuOQhFoHjxeuROqmzcAvVP8IC2wIhAIsHy6/HUqJuhM2xq1y05nbXZc0Pa9tsqFAfsmd27LaA"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.3.4-rc.17_1627395830705_0.4110800316898411"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.0":{"name":"ipfs-grpc-client","version":"0.4.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.0","ipfs-core-utils":"^0.9.0","ipfs-grpc-protocol":"^0.3.0","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"ef41f924e415fc2acd30032e2b484bc32f042790","_id":"ipfs-grpc-client@0.4.0","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-NIh5y6H4YaqM6u2gaopnLLSffvn+zZyXbNkJC2MIxK32JMgr6ixQQNwa8zPK92xCdxmkuuFi+NWgvA8YugsIPw==","shasum":"811fcee320bc9f6fe8117f889a1bffc4d6fd00c3","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.0.tgz","fileCount":48,"unpackedSize":281108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhACFQCRA9TVsSAnZWagAAJfEP/Rpxiyd0678uXBpegvT6\nrqhbVQZ3fGGsW9oORmDEVbmdRFp+Vra+yrPCVRZU/0kDR4oXnZIzQH8St2qI\nL73b4kNBYUmwJI/XKhJikB9DDC06yLmKA1LaERmjJRgzQok6Rcl8wyetkiSG\nLzWmQ/URlFgjweTALyzaPn+NbX+bTJku9mzp8ZBnpd8YYcVGS2eFO1svfoHB\nTrgX2KNY/5yyLpJY+wtmQEb94GQmuYeXp/LF556hA1+Rv7oqGR91iehsPMSW\n+wEbL1HqeMR89fczsSJSiGPhIoZYqj3aKM/yq3BGgSf7fJt6ialFd5hJIWa2\nap5agPtwJWZaBTqo7sZcD+v1XWRH81A4CGxKBKP0B+zw5QGLArefAFDCrdOS\nPjqNjjf/mMrzByj2V6wc0XJPk8LGsG/DouGhPqTvvqwFDOpCJcipuJvwrq0f\neF9Dt/ZxUKePFGzs+n23kYFe3WFEGuHdeUmPuvNKhxewszMo2wYeoH7oZ7Aq\nMOLPY4DvHY1xewv7btuS29RVxw/3jPP+V3/8eD8U4dRFhHS4/iwP82KybD5z\nCIjMk+MkXF4vgzq2FF+867lp6YUj4/Mso7CVZjXDF43JZa+V3G5hgJqyGvND\ng8t9kSvZJt/wP23VBmh+u95AtLH7XrQHOOCEhuUHYENr3PB9rOTIPOEONXpg\nFSSp\r\n=3u8P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCspeDFFoId48BR3dTwiMjGhcM/LBOtM9UvhghOa1HkrQIgPnG9Bi5jmvZXWcRLi7rU/0zztWA7ntAy0B3/giO8Z5k="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.0_1627398479942_0.3313146530132107"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.1-rc.1":{"name":"ipfs-grpc-client","version":"0.4.1-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.1-rc.1+5c43562d","ipfs-core-utils":"^0.9.1-rc.1+5c43562d","ipfs-grpc-protocol":"^0.3.1-rc.45+5c43562d","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"5c43562dd3ba2d2325e297e0a42ef441f9fd2615","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.1-rc.1","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-UdS104og8qI4DyW5OU1aY6nL7LclR/4xIXWDiefVLqoULMb1sd61pmB65S2rhZogkAOleXEZGZ4XYfUnq4ZKrA==","shasum":"1977c55509d9d19f7a19e892a7e64b4b0d06106b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.1-rc.1.tgz","fileCount":48,"unpackedSize":281165,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAT/GCRA9TVsSAnZWagAACAMQAIvVKsEbasNJH3qvWAoA\nqB1a+/OL4na6OqN8eXg46yT4CpQ8POrEGbIHSe4eh/UA0aJnN6yMrm2yNC0F\n245ca/LTnYVS4mab6dP6QOKDmVXna86u5QpvwustXgR1tXN//PA7cDAv+3a1\nI/9X57YbyNGmt3mR9Vt6foPg14m1ZqpP8wGK7CSn8g8UZ1p0i3lUzqd8QMwo\nd8c4rxQP1Y5IZnYLoTcxLz89NEe37V3up8YgXslXnMO1hrJfrSUgOjVsnJn9\n34/sk+BJ81jRip4cnOkIMC+QfY+ftdAOBukE99MKvNRaw6VekrWnh9XQ+r86\nbgYCDDfoyIHQO054eLubmESJLPLIjj+W2PQe7otp96FnSVhK1YsD/9t31MTN\nwJH5pFGMP+Yqcq7F9qi10bsUzosbl0QJ7FMq7Tky8XroUZSVRYMpZEhGyn7f\nWNmbyRGR0mXPv4EaZLMFbYCi3rqlczUWQApWPAfU62r5D0GEfixKWG3hREJK\n6T06OFk/nUuxfWqQzEbfH51TA29e+KW1aX7HSbOK6FDAcBH/0INvUJxCBYPR\nOtOr5+9VKlo658Umh7jaXgVJylij8c9SuQHIYntnGv24JHv1vTRDHLR5gLBw\n45Q9HXePMKEykGzae0CNF+GuulD0G1esquBGIpKEhB7SVDM8F3/8uLTFw+Pq\nNjLU\r\n=L0I8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFxFLdNjGHgg5EF6QOEVBcK/qJnJr3p+lrOd3tpMHA1zAiEAhmBuqjulW8pfGjvgJ2ZKb66vF4iwuGIbyU7dDkOWe9g="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.1-rc.1_1627471814315_0.932946025121469"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.1-rc.2":{"name":"ipfs-grpc-client","version":"0.4.1-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.1-rc.2+fa015c9b","ipfs-core-utils":"^0.9.1-rc.2+fa015c9b","ipfs-grpc-protocol":"^0.3.1-rc.46+fa015c9b","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"fa015c9b2291c375a5ecd86337831eb1071932e8","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.1-rc.2","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-J/27jZuUuHE7ImrpuhOMzKZMVuBOyBwT9S2/MD/26iNvL6uw5L7z+zpcEtJHiVDb5TNqhC3nXG8ZwgOCZ1GJSA==","shasum":"5fc11d9ac6abe30982e9e6bd6a31a5bc91091787","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.1-rc.2.tgz","fileCount":48,"unpackedSize":281165,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAUzACRA9TVsSAnZWagAAWLMQAIiQ4f7ZJ3SWmzHeToi9\nOQsvfkivvCJ+S5x6S0BDeJJb/2OESFO3OzvOPtk4Y2ti3t8wWN+JLbyNzhNY\n5C9KKujFVC9QFhyxeorAlD0TFTyiet22nr1Np1hlXmNX80P0d6Ycxx60qMJq\nrs+whhs2F/+Sh8yIAt1Pfwcj4xZ8YtPuvDG4G/zvAHFFtwBAHCd2H7SIAgwY\nkXmvmkiZev9oXOBREJZbEI7tSdFVHA9hRImkuRsW6vK/haaIYGNcCbAsjJib\nyTF2QtDQaZLJRihfttBJfmdDEHzIYCw5Xfk5pjITev7tAmEztXZ9MjGpUQQP\nNFToo9Ejj3iFo1OPCap4/y2582sdsGLDav+wi/sfzfzuavAD0vpnMewROIWq\nywA1lQeuZ7WfV+k01olOaQaqz29mYAqD38rDBvC2P8di9Wo5Dh/ZaipDx/dF\nuDhoD4dTS1GRVGAgdfvBoZF8murajx2zazjI6dEZeorBJ18SO6s6od5e95Lz\ntERkwssYz0YOs1IIG8CAk1AadBc06smM5B1jh481lXnrySIkEXe1M5+dc+Tf\nHYGbh8zaSkVrU1HHqCOvnfz6OGPTE3VCQxr6+3NV/SXG6BnrS7BriLHzRi+n\n1cSIUHaXpy1X5sFguBbJ0L//1sHgZHIcpbLfijD0vXCAn6f7Qd3WxTdmf743\njsJ3\r\n=4DO+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGx5LJCaRvyyCnb753lEneMqHarOjC13lxJVmzNeYWRhAiA6dF6MOHsgSjyDzk+L6bcP4d/iQN0f4/PohrZV3Phz4Q=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.1-rc.2_1627475136415_0.2087305254315761"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.1-rc.5":{"name":"ipfs-grpc-client","version":"0.4.1-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.1-rc.5+43db72b8","ipfs-core-utils":"^0.9.1-rc.5+43db72b8","ipfs-grpc-protocol":"^0.3.1-rc.49+43db72b8","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"43db72b87f0153ae4e9c46aada750fbb85d0bac9","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.1-rc.5","_nodeVersion":"14.17.3","_npmVersion":"lerna/3.22.1/node@v14.17.3+x64 (linux)","dist":{"integrity":"sha512-X7NaaKZ7sXjkS49NYZYeufYndjjCon0jr4DcQm9k/GrTFacjKAEc3zGwrMzlD42lvErMGJ0sLxBcWLBTQIFlJg==","shasum":"eabecdad700e769920d72fe48bc5503f8bd28525","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.1-rc.5.tgz","fileCount":48,"unpackedSize":281165,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAYxQCRA9TVsSAnZWagAAxgYQAIK6h7e4akpLgRVrZVLw\nzB/zgUv7npb5VfaIxYoMxRUK4doA4FqbodfFVzLlzJKB2tGOhd9WopJYPv58\nrq1BSnqaz6J2be/+QY7X62kVTcs0+v+gfFYUqbQ25GaurBJpEaZ1xmD5rsVi\niFR+VK9o5WcoSEWbeXyoaJff6X8xyJQwyVUgdfJXuGDqINzhXJhEdfyQRPfP\nN+Y8T99m9Ls2nuADaFueeNlo85OuL2jV+cd6CmNRpGLPeLYybMBdexITbTg3\nXxou44TLcxmV/iHo3h3F5hA/i4cVPBvtg92k5+ApXKZshufFiPHG4J+jsPCW\nI3Onq5nSo8HQj5nP6IQIe6qLCXsfRZKtP6cIf1QOjJE/+NMiE6wcH/yvUY3i\n2V2OHzWI5n+Bi2D9ucCGZsDgG/bTNFA4TS6tDyn6+Vtk/NjnEGmmeIMzPHn/\nqnkZesCP5vHoL6r9J1JM4gYarELj1Imy6uAIR6McGJHDzeWdxEueH6BHBRue\nCFL5mn9R/8FCgqpbBzpgJ2pYDMRLanLESKEwROyDvpNQrEj4ObMMCLi8NS8Q\ncuv1hiVs9Oe++vFag86bR1x2jUD3zNrjMIDW6GWT7LjwEUi+swQfC6VKVO94\nikygExPmw8/rSofnWHpkBRbmgkW1aEmU4fDefSgUFVfXj+uXJJsV7DiEVsms\nPvH+\r\n=B20g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBgIXmUe07LTDW67xr3ucjc9B1NxkJmwsAc9SPMdw1TeAiBv1s6Ba17i7ZkDA7BnA5ynz5SCYACFKUAiB/WlTI1nmQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.1-rc.5_1627491407806_0.7984610851714251"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.1":{"name":"ipfs-grpc-client","version":"0.4.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.1","ipfs-core-utils":"^0.9.1","ipfs-grpc-protocol":"^0.3.0","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"dde3d28b4a0d0f74d73c0c0b38eda2e01874a2ed","_id":"ipfs-grpc-client@0.4.1","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-lzU7o+B59GcpeFtBYY5wb9arSD1c+7k4JUCgrwCdIDXHPtssUOlDT01+vsY4YST1Av7b/0QQK2fToxbusY5GZA==","shasum":"5322686cffd4d4dc9d085b90675e8210562dada6","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.1.tgz","fileCount":48,"unpackedSize":281369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBDITCRA9TVsSAnZWagAAxPcP/3N/7yTZyjfdBInQiy4b\nhORPQPoHdXXPR5NseJGZrj8EZAUzHUxq/2PD1XFoPf/KxKMqIKeJu1THEiDI\nMiIIIwCcbg/vuP0dXMITbHKho7sBTVAhl07fbr1F4Rlp/FUWZPT5cXTA8/tt\n8ZNkY+OVHFXnTihNffttxm4ihF8R1V31mhdvUTGKfIqa+XS+mKfgQCWItIkj\nSS3ub8VM7MAct2rhDn3Itvw1IWgNoP63mwsMFOHvGUZGWlQldEXLT+bsScVf\nFBsFA1Q1DnR4jsMkzVSXYdXJUnh7ujxFMZx0u3jNMBjHS2zfLVCJgrF8WrMy\npcgk7IX60GSrIAdphyJ7Tjde2pRfbU3kWpgD4se+MimuEXiAXUGyIm39bDJA\nhoAZRfS6njLPfCpDFBCckDkrzVy+cmncFKyWNpaYHPtVjLIPpndFF/iVMQ+T\nb/97roBQdprkPFLOe6OpeCj6VT7lAfWW/umDdYl7xCJ0QgCIvoL7KXROZjRH\nqFSZtnQsgsxRfJa2dB6iE7nz2Kxj64s52TzaOUpaaukyUgInLDNT0gCTpVEd\n0WvvRHjSrYOXoccFh3CrQHpVrWxYB1nkZ0zDM9NpjF0IMeb88bPp02ruMOns\nOS7lgNa752Yf2czwY5wz7GnqOww2iKW9nDax/9GLaqm68BpgU/rgdR/NuQn5\nVmNi\r\n=ZpC6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAmNkPwfmb8b5cBQq0MIFxsxAwSPBCsbM+A+5cTE9XSGAiEA9muMQdCRgtWtBro75ObfcztRE5pmAPw/AmTrxRx08j8="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.1_1627664914901_0.1018931697588874"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.1-rc.7":{"name":"ipfs-grpc-client","version":"0.4.1-rc.7","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.1-rc.7+fa78b4fe","ipfs-core-utils":"^0.9.1-rc.7+fa78b4fe","ipfs-grpc-protocol":"^0.3.1-rc.51+fa78b4fe","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"fa78b4fe1386a151422bbccf33818f3b15fa36de","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.1-rc.7","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-P6DXM8SVHbdnorb5BusXOCIk28R81o78yWozdQ/i2o4t77tvktFkZngL59WkY0jTl+aAha7p/Cox5DG+u4aiUg==","shasum":"86e2cf4cd0557185bc7ead47033630fd8347433a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.1-rc.7.tgz","fileCount":48,"unpackedSize":281250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBDdWCRA9TVsSAnZWagAAwgkP/AsKmBBWEQ0FTNSWeoqx\nzaDV/lsUIkOC6NZWnuPt+Y4+uZdm9lehqYiq3rjAsRssN95VeLlQT1gIIUsv\nu1miFqxbWfEEjEbHPDYm8HkKDffWR6iO4vFaXSKAGD9A/atyMHtQCcUxXTju\nOboM21hZaM49AnejUqOMK326vuJKu48SUIZESvseQoFcENO7E0BZ9Xd3R079\nU7N6m30810+QrKIR+9ZCbU6YCn8pkUteWNiWOeIPRPDhr0yBRbpsDsQ4Z4lM\n6wLI7sfOn7F1+aQxN1RZNH8Eez8XAroOLBZT5GovcgdYB6qsNdOy/M8zLNab\nfcs72xYPi5rm/rsRxbMWTV3jUzUA+iKoyr6cEic3Uix2SQV9d9XMuGPoozZZ\n5bC/B9BXHLdRpH8XZFKVvbtP3XNTIPnqbsOLgH5dCYJ6Ql4T3wSp8890341W\nroJDz3R41gF2E5+mt/Ppgbik6cbzYv05rTh8FWqkgUUX1u3tIqmR7Hazz8lP\nAf//gwG2YAYTIrI9GWnXBYZ8fwblgerGfYXI5nXTkz2baxx4XzBSPRyfPCT2\nBrSMDBmIaQ0X8dUWXIOWMI/infGo3hANXJDw4ypeoNp8OZPvuz5/qtqKll0F\nWgSbPs4aLx7b5FATilYUDMI4uYuClwyPBU2qLponzpfdoLqsq/5MggnNykzs\n+xmk\r\n=fYGA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8yiGjYg++ceQxjAQ49iPm45L5eMAT0CDroZSjRtmE8wIgDC0f8CMt/+osKy6EJ3aMMWEGQCxY4iC7nF7c7dlQqgk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.1-rc.7_1627666262180_0.10264410513751931"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.2-rc.1":{"name":"ipfs-grpc-client","version":"0.4.2-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.2-rc.1+48f655ad","ipfs-core-utils":"^0.9.2-rc.1+48f655ad","ipfs-grpc-protocol":"^0.3.1-rc.54+48f655ad","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"48f655ad4a2ec96f84c4f73082919a753523408b","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.2-rc.1","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-vOfMe9yNuXu47enWiCOzq+9KHoZoSo1rQB5f5t/rVW83dgMTCxLV+sy3mmjh+ID50O7WCRcIC+SkvG9mlngS6Q==","shasum":"1bc2a88bc222536af99a92072ea4d93ba6deee53","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.2-rc.1.tgz","fileCount":48,"unpackedSize":281426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBEuUCRA9TVsSAnZWagAAolMP/2UaCcvQ+GFPC4bWsniB\npOvkRwYAOgcdYHE4idEhrAKWc4xD6JxcSj2xJHCe5WqHeEhMELYUb+GOnI2M\nhnJ4qrUY0jhqztm9sql3Thlr9RoAA2gMjPNL5lTCWDi4KLfrLihYYlIAlIPC\nGgo0zRSMt+ZC9nl/bspCt3coLrQP9Gjq4aNk043CjwnbifmLvjO2ScrkQPgM\nkvv5ldGnyHMUk35Nbi2V/r9s0BleiRhKD0kSfezhd0VsTrCzxjDcoDejFJ/S\n5+5M4Ux/pqklZrOssm0tXEMSkWkItf7kJzXgrFNeLxBPcL4A63kWOl+VwmlZ\ncX//Zw9hUVQPJV8Yax2SQBL8YhC1oNOvcw9/+6Dll5iz+kA5hhwaDsujTeqT\no/kiwV+WqF3VfXPY3gfrgZvk3rSler+xbQzRSMOmZJeeAC9VK9gBIxkKTFyv\n/eAvb8tDO23fB+s4O0XjPeuzU/3luRNjSftb63gRHqnxvqkhzSUvZWuf2Jie\n9rgPU5iPuMguhe95nA5hS4IZgwEFFZWYmRUAzEthcLO5iDzp+TcbJowQE2BS\nFh8yuNJRonPohRsd5vv3igJb7Y4XC/s3b5IXgHL02u+cGTWflvcIWHIXbi1g\nmnROxC/YDnm561ss3Nzw1oMUf2RDr8dFmdPYSSDYlJ55TgaVyfy6pS7IJuWP\n4X0/\r\n=SBBz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIYyBx8acsIqiN2PwQOpEN9qUFNsBoox4mUxGR4j3OfAiEAqmuNtx2m0Khy3So3o7Cb9RR46QkvcYw8RgQ66vOtNGk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.2-rc.1_1627671443944_0.1924231175899751"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.2-rc.2":{"name":"ipfs-grpc-client","version":"0.4.2-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.2-rc.2+1db6b88a","ipfs-core-utils":"^0.9.2-rc.2+1db6b88a","ipfs-grpc-protocol":"^0.3.1-rc.55+1db6b88a","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"1db6b88afc5647d3a187e0ca4199d8ab2082c629","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.2-rc.2","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-ZvwFZf/FOFaNxBEWgGVUTr6byPIH14Jw0sm51MUeqJtpRvugnjHll7nSsKeKVYOeLcNZ6Rk8uSFoHiFrq8aybA==","shasum":"57080a719b9a9b862b61331939032c63176e6191","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.2-rc.2.tgz","fileCount":48,"unpackedSize":281426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCpuzCRA9TVsSAnZWagAA56QP/0jG6/+PFybtfJ5c/Sdr\n1vzPGkKRSJRGyeDf3ZI6nGGo3cTJvts3MmYYdNBEKA/CKQaj7EOBxGQ5ay+W\nnISpnDqgnFQjFleXQ3QE2/Hc3UCncPrHyu65+VyIzuwmGl3OtiwWuQPUcgPB\nRNDVOzc8SjfEm84cPeC4l9M4aLgTQJSlHrKKC5aFXRM8MTa4NsI5Kgdz6/nt\n/i9p3U5v2a36ZrKSA7IdVpBtICXMTvQgkkAyV6oFV8ZXuekIMdjUGgHwnwmx\nJSeOaQjbcd2Zu7y9laqLeN2EpiGv2ta3TbEQhC0+v6twk3hWdAjHFCgiipji\nNqUKUE+FW884kLtyNLnpPOqgk6ZKG7laACKclG9krk4jCvGKlnO1jZQfWyLR\npmpBsFEKU/DaCWukxHTuWkD5lUdhWq4IKBhiM4VGx3+PVLYVBb+jnkDsNCl1\nFCO752eOZdZ/R/Iih+/St6X1glWKx17sW1j5KgYu8SxRF+nfYszcgnSn3CGm\n8L54zs13D+9mRwQ/in7E6wEjeM3ullLxc8hTxbJSG5+wplaqebOk8NuNWwFl\ns8mnGLvyj+txpiMwnW7CeeqNFaEU3bcH2LO0kKDqXtPQe78UEODUXQVZElme\n2Q/GcSEccliQnh9jPfceRZpa2ia6GUeaiixLWFXGcQrShlo/aNPuaglLHFYJ\nL/zO\r\n=GAn1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAVArYMzW74xZcnG9F5x3lJDU5Ff4ERB4uHbhxfXzS33AiBTddPBQ8E9QkP6zUx9C68USdG8pnkHzOurr18JGgo+1w=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.2-rc.2_1628085171734_0.7297331801751419"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.2-rc.3":{"name":"ipfs-grpc-client","version":"0.4.2-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.2-rc.3+6adc3fa1","ipfs-core-utils":"^0.9.2-rc.3+6adc3fa1","ipfs-grpc-protocol":"^0.3.1-rc.56+6adc3fa1","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"6adc3fa18f1dedea22babce41d24d7435e497ecc","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.2-rc.3","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-/Xvsk4zDTG8UjLJRSv/4uAWo/LDVxOrA/sA8mc6BXS/n73GzRHnbaXdbA27dq+q+geg04sMZRH3U1USoP3uHqg==","shasum":"808277f4567aa29cb0f8aa9e37539eeab7cb72ce","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.2-rc.3.tgz","fileCount":48,"unpackedSize":281426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC9ACCRA9TVsSAnZWagAAYnsQAKCBQ/qvEJYVS7qzKr+P\nc98a9AnXiGPA+Oi4tysHKpjcIMx/Ap5JnlUEPMS7MfJ7Wd2F5dQ8GjcByJf6\nr3afB8PfOvC5NNTHRpq5QBd0AqlDBH2DwXI7wqspL2sF1RItPr66vP+UZGUD\nW6bQfez+ZNaJ6A87FZvcGiWYdPl5yUaOd+UnqHpQbkPol8zG1D9LrZUF/DAM\nWvTEfqBCOJ+Zx2+E/z8zxqu5g7K/Nmr8+0AW3ojSjG4cL4C3hab5SIEY9lLL\nEv7RoFfDCkVAe+JFMe60hD6WA74aD5ebZ2OjQUJKkN1dnb2afo8nxSi9K+0X\nq5ZsHDaPCFDqjAr0jITpj56y1ZHtqqMditBZTEgHQ84ALvZTnkPFb76iOmMg\nUReNf8xsw6hlbYDW9LmnvYsXdZ9X4kYBH+Xvx9jhNshOBWjY9KwEzL03CzyA\nfm95ZhyWSJsh4aBa0DMo+WN5DsDpUg08Ei3lmF+EI5LpqY5avHcxZAI+3aL5\n9Fh9CyMqw3j04KF8FFSb8ty3dqQ9SyWdZYjr17XrA98RsTu5csz7N6Pa6hhc\nIIzOzYBPsrsr/2NALNWy0gvEZ7Xj+BUEAE94HGwPWlJqNHuvfKMuoeMtan3a\ncvefQ16f8ZnjAZ+1l6tLW8B0z7/WQldycqeOw9xUwKB0XeA70jX7SNAK/+iy\nbnyM\r\n=VkAQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB20SYji6DaHK5cLmtrDKS7G6YMNYV6q4BHZVRT28KVNAiAeboWiKZYVNykDLHhVVmMSAMKdaq3kxdjclTFRrn7d0Q=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.2-rc.3_1628164098793_0.7246606367449249"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.2-rc.6":{"name":"ipfs-grpc-client","version":"0.4.2-rc.6","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.2-rc.6+a6c68803","ipfs-core-utils":"^0.9.2-rc.6+a6c68803","ipfs-grpc-protocol":"^0.3.1-rc.59+a6c68803","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"a6c68803ca19536c022c72554af2311962b2a063","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.2-rc.6","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-/drOhIDGjtVX/ct+IFdu1p1X1BJWqrj0Xr8zPrpXgrPfEo2m2XwNF825i5r2BkoEkVirjOIYe0B60qHJAEE/2A==","shasum":"6fcc878da018c5b0e0995e08df93caffd4ac9943","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.2-rc.6.tgz","fileCount":48,"unpackedSize":281506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEVifCRA9TVsSAnZWagAAOuAP/RtRqpcXtmowu+2kIoYy\nv5FQ7k0xxa2ZT+KzK4Oc89RweSNwFECwEkzs3/0BOGvrqUeK7Ysg5/p1oN5z\n+fSzUvq4wZoz2INpEPSQe5daxA+e9uGrxsguh7TteWNeNoQlISBlGeEXY9yk\nMn10P84axRQrkbOD6+2xQ22KImKJJqex2GFOjZOlwbTDda7BNzaXPSUxwpzh\n0mhFml86Bekzz8YSFiXVZvqbTjEyMUJIY33LbX25wPm6dugu2hVvLIEgvFNy\nM74lclf3btb+/JQpPguLn+rx+DCmqmRMD5cV9S9HaDXagg35HDitlL85QFoI\nrAJ+PyiSaMLkVI9q8ROQxRt2NUOUbfEj3Ilf09lEWXHPG5xEIoJYMXt++M0l\ngcQK7HD6tQqjVvgurl51yd5IcEOuibY32aYaAOkB75XE6cBnt8HBqui6+/I/\n37IpHWw1W5WtdcVBarSDeIroBO/yLXr9UqcEVj4QdL8PoWSzU2i7c9kCWPZN\nZmW2od5CC24UL2BAE0JSd4IYCvko2pbhDkPEm0nVmtynT8CCHfaWtQDp9D52\nSgmc7SBd55sTctmvQSKgcpA6cP+bzsI8J6qMlVL0jjLzQB7+7HrrawMxCN8C\ndKtklBaLZsDqEV3c4d9Yx/l1BC5kvJ2xXSr2NVkZTOPteRyICncsEviiius0\nixJs\r\n=5MD+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEvV0i6ak1FSFM7FaMf89RH8v77N690/J50BjqL6C+aMAiANyCin52v6wZMZwmZeXXZ70Q0JFKjz3Z9ZjWWbiWjmbA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.2-rc.6_1628526750912_0.5479931106930169"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.2-rc.8":{"name":"ipfs-grpc-client","version":"0.4.2-rc.8","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.2-rc.8+213f0b2d","ipfs-core-utils":"^0.9.2-rc.8+213f0b2d","ipfs-grpc-protocol":"^0.3.1-rc.61+213f0b2d","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"213f0b2df0e407dbb97ac2de9b82830da234fbb0","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.2-rc.8","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-lOVJtQ39s65z6bQ02n3/7RJ/BfkHD3TNHY3KlwIcxo5dex3Mq/l2+Kx53ah3sdMyHxBgmzg6b9h8JgizRci4Fg==","shasum":"f359a4a9b89ac70ff93c988d9ac0192a7db9e40a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.2-rc.8.tgz","fileCount":48,"unpackedSize":281506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEiiECRA9TVsSAnZWagAApeoP/0sICFaeUkF9MVQv2Hoo\nmVl9OIC2OavgoT+xSDK1qbOgTJ5cuQerFN850unalBQ/C0iAXrSrxO/yZ47K\neyHebov3+UhmfGnDCQ0RlhgYZeBiSTlP8fjVxekh4iP8MgdAN5PzXtGMD4/K\nS/9aqjOm/4qWq1+cEDbL5dF4uD5QiOPhLSC00s24xyeHIYc37GbU+ez78SsF\nFWcB4iVE0Srya+p9hq8jWXP+Z4LXciDExg3JtX+EcodKXSB0Mw1GvWWalaoo\n+wbWToRXxezf9z5VTuKqynNnvqoW8QRRJ0CSe1NCThE+XjDYhNsS9ZdTfUaO\nvuMO7YPaWCr0Ot1CiK1QPpNpSC4MmDQ2I4WrTIIYC/Y4VEM5qkAN27IRWh0P\nuBjypWucw5izAgOy4RsERFTQvULaahCQYNh3CoPlDnJmmcLOFROuOACFQEVc\nbcL8DsBJsB7QHUY5KGSbxYzNlXEjyjUWSM1a5sIWx07tqkZrzuu4VFWoUuiI\n1MJ6Xf22rPxqULwQAElReRMBA+bVtD2LF3tx2vo8n8KCcHwnxKiH6IX6BOsc\nhbW1XxalzkyHdoB8Jr62owiMGS62JigCcSbaQ9794XCnj0gFTMgMAmYi4AI/\nWM287OQYvQ/Gwe2eMcAkQFpyARUCFYnqDYOKHQaPBciZXn8xe5FAJy6+O0zE\nRdgH\r\n=VQYE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIASYviSBDhRVzd8/XhgktNne5PTVZmzZhhVGlIi0VtYZAiBKXSLyJDS+ieA1m74M0jkUcxdByFozswsjMW/z6iYT/g=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.2-rc.8_1628579972254_0.4060349256562781"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.2-rc.10":{"name":"ipfs-grpc-client","version":"0.4.2-rc.10","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.2-rc.10+4150d1e7","ipfs-core-utils":"^0.9.2-rc.10+4150d1e7","ipfs-grpc-protocol":"^0.3.1-rc.63+4150d1e7","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"4150d1e736c15863ae7e354fd1f7d6d4e34e4452","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.2-rc.10","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-jAKeetEjBuEz0WZQY6XR3UxbvFBv+BlHfAAwB3dnjpPD7WaN8TQOA9fJB9Bi5oNiua3KIy4KFa3vY7eKtaKN/w==","shasum":"3cb0be3a361d731df57b2b449c37cec497fe588e","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.2-rc.10.tgz","fileCount":48,"unpackedSize":281509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEkJiCRA9TVsSAnZWagAA+8sQAIgjlYj6HzqFKDH6gpdK\nCe8PfruUbz6TIGY47I+KMVXJShcVKNOymEbkVm85UMO9ROpLSSt/V0wZN+Nu\n7QKW6yd7ZA2yKkbWka3OsMIycIzlkoue7eO7YVlgAJoK8iDMxlJabwpIYwUj\ngqd857etWNz8dbBDForrddje0tdb+QAWvqJU9+czrxlxxVIAkQb7ksUq9tdu\nIhfcyLwfI9phVbVfa6cPiK9mM05AjvIUTD7gPd3hPbzCKCMlDC2CU2QA/r9g\nQUfz4gTv9NNEaN3ruUjKa/wAoq2+/sDwS44NFH1vsPQtS4KZ+zfhXC03wpEZ\n5/P24kkEQ9yDbOKT/243UcgqjTNeGkgpKImGeGwbduvLTIylZzBP+pakLh+G\n5OFKEtm9zGeRz968AQsPS4D8Zwyxi1oodUKwae0nZgX2SAYNCW4ovJ8nnCbs\n9SYMDrBmto8i0XHr9A/11UPn3VRd2Ut7uXGFmwAPvRLbVPWO7LJBH5qoYUbx\noMM9ynWraRxSHjq6OB0Ea1+8vGetlBTnSnGUQMgM+bGLQ85Zuen141mvEhR7\nK98JIRYwXhlFlMetO3tzK2UECrc6S/A7cieh9msPphtJvE9bLG0CUTofE2h4\ntW+/lAwFTfod12rXcPFKgF9W0hCG2FkTXXO4cd7zuU+de+SBkrBysG15gOcm\n0cgF\r\n=hQ6a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGDlX6s4eDrIiJTbZMZpmh0WSP2uxZtIhsvNuHRXa/3uAiEAnYjFE4Atnfs6fhZfZplUJqy2vzcq8KdROBicEBJJ6w0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.2-rc.10_1628586594166_0.8066799225146555"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.4.2-rc.11":{"name":"ipfs-grpc-client","version":"0.4.2-rc.11","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.6.2-rc.11+fae59868","ipfs-core-utils":"^0.9.2-rc.11+fae59868","ipfs-grpc-protocol":"^0.3.1-rc.64+fae59868","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"fae598689a0b9a3bdcf80ac71c19b709294f2932","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.4.2-rc.11","_nodeVersion":"14.17.4","_npmVersion":"lerna/3.22.1/node@v14.17.4+x64 (linux)","dist":{"integrity":"sha512-fkYlCo67VIo/Uw9psy1f20SusRr0mEOZl8j577VzgRfQbKoypK7bOaJH6VPT3erhYvhLrR4Qx5ZBJstI4V5ahQ==","shasum":"8b7b19481eb792dfd99caca495aa562629078f76","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.4.2-rc.11.tgz","fileCount":48,"unpackedSize":281509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE5buCRA9TVsSAnZWagAAmW4P/Rr1bs9+A7/ys9ruNDjL\ntILGl1MbRuie2paSoXbXncPg4GyXgcry9rpP1h1Lb8I/d6HgOy+731pygOnH\nm2v8G0Z1cuCnVg4h03NNwbWX9KCs/FIkaKIrLCOyQQiAPiCOu8k7BRdbMDel\n1qpbLNt25MaV/qiJWIZ4oWq4yf5B8UaA7Qpkv9jFYzBtRgXfR5YGQf8NwR0c\nw5XM3qGiGrNu+qnpEYsgPik7GAE9MFA26ROsaG3/PgNM0/H9Bf/4W92MkcIq\nuDJwwkd1TlNOwa0XaHmqxz5Eh5EQw7gLz9RNiUsAL3JZ/um/loX0OZl1oKc+\nPuYlqeFLHlpXlmICzhG106++/Ko5WjE+/eqwceuI4nobLwR4+E2vGIAAuf2t\na+4ZgXPvZaPSpiWvRBw5bNVxLi5sF30GzO0A0DtX6E+NW93+QEWsn5OuTNdC\nGGs3z7vo994nG5C4j56qEqMSU6t+j7deqT06ujeaHQsOrvpOrI7J8wG9pccr\nuNymUnlXPUoxf36jLCWeojNn+PEyG+/GOk5q4j76rLRkMIlRWRdW+TUoDZbg\nYosBkQgVrcLB9f6oGfDWjYyWczBn9C6qjBlqdoSXXhqXTbuRcxno3F+opHLZ\nT/ffSckp1K1UaknKeZgkELBDNeVXSegelVg9A/wn/tqI39ccf++ncX/r1T6v\nt+ya\r\n=xcYA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH5giPoJsx9ET3WCiXleyyWndUZkzv3SeM6pIASO1fX+AiEAtlbmbqI8y41+XtNM7oeNbkNvknPdHYjdyfWQxZSKSGo="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.4.2-rc.11_1628673774420_0.8609497497380016"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.0":{"name":"ipfs-grpc-client","version":"0.5.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.0","ipfs-grpc-protocol":"^0.3.0","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"7f241319856719f2d9f2c1fc4a6b1062ed1ad398","_id":"ipfs-grpc-client@0.5.0","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-B/C94v2ErAY22GKjFyGhIrfVShY4VWqtlHBP9LeOqjgrxdmW/CAEfK94jXac0B/1nfjfdzX2Sne0h2BZ1dXUlA==","shasum":"ddd74d87f0b038def813953e6c7a0cb5025ccc78","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.5.0.tgz","fileCount":48,"unpackedSize":281928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE+i4CRA9TVsSAnZWagAAJe8P/Ak/bMnKvYX8Gzmyezif\nhRo0MvtP3O+QWochXjPORR1f1juylGx8vxFTYpKCpKi+T57xbvstqww3t2zD\nIhgpDHi67whW4uBvISmx5yEU++84jU5JY3OYtrnIHqqfLHj3klCoE7wrixAb\nn+NpXbp8LBNerOd4r7fvmVKvHQht6TsITisemn+pThe24jVZnbvdlgSftqAV\nPZvN7hMM06KyZTtirKkFIPjxgVMCLpkteUENH0SgomM4rWY4DD0eoY/cR3xr\nSrMiSuLfqibp3sSsEvNZoBSRfaceasYhkBU1JnQO+fgpfF9N273EIPm33kpY\n1dF+t7BwqMI172u3ETqKghOZz6vCV/Du/XMUMby03r5ymz7qxMLJsOq8u+x+\naoaL304OEK+mlCcgK0gKqDUGaPyY/IMYvwvZgkZANiWY88v4qqJ+eI/dCLJK\nOE08212ceUyocaSyJHkrmeUsL5jHIUirUzsUXajw5If9sciiyvGbdDylm/yz\nwqAriQXM5qZHNtbvF+AKTV3tru4W3o8NBtUvkS75wh5Y+4cOj/4jFvy+ndWL\nPoX17T15VoKBsYyMAanZqQJcUPK4B3r4I7yM0K+8tLfbhqooa9qkDl6sCxg1\ncEQtUnhsXdYsSBid8TpqTPZifpCp5Y+n1m6vs+6iMCDupUgM2Uzt9ObFe4wQ\nGAvp\r\n=xGcv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHGTLKw2kS+L2O2Lt2s3WrU0lfurQfDN7Zh/OxYt+C5gIgIvMRUSCwIFNHCTR0tu59rteSdRbfVaGTBsijSMglpZs="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.5.0_1628694712327_0.23706714447238597"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.1-rc.4":{"name":"ipfs-grpc-client","version":"0.5.1-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.4+b7735674","ipfs-core-utils":"^0.10.1-rc.4+b7735674","ipfs-grpc-protocol":"^0.3.1-rc.71+b7735674","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"b77356741ac597f57e0b9ed57cddcf0ce3fe7806","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.5.1-rc.4","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-zUtCs/7fuLn0j4owTv5k7s8EXZ8PGlxRMmV93M1vroDHrU1AOEcxuM7aqh8Q7PsG0yC4edOkjHPWMDnhMGY16A==","shasum":"1838602c69edbdb4b0329b15b85f5aad0b081b97","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.5.1-rc.4.tgz","fileCount":48,"unpackedSize":282293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFP0XCRA9TVsSAnZWagAA4MAP/0V6ygJeFDdoBeURMs2u\nH3Zs5Kh2wPVTAMgPVy6d266kjfvzqAfjjycCCAtu7WwinURMjqHVUp8KupNY\n7LYI3I8x0Sm5LxL96UaqNyNHMbTHnv6j+bp26hp5fVXKgt+xloKiovMdwTV8\nCcs/jHNuOZHWNL2S/guZIt+cdqE6qBOMbDqeGkI7qljQzzz6gJSyFpU/VsIQ\nvftTeboa7li2iJFiVy6ERWTDIZXZIIxda7AaeMdxoTr4rEonpIy3Rs4mdXOJ\nCcdO5hkF3gW+S3jaf6kBRkcu1UNM5pTGJyPwmRsX+ZM28NK/OnlFr9waVmyy\nIiSZVAfxq7f8m2VUjRgaUEOR+vUOoV++zjy8ZJYZhR9SHY8OysHE8Y3xUA3T\nQ3fGb8zN0DNhvfRFszPE/YBWMgtHFyiMWhpgQ9dCe52OVmpS+N6wKCHiVkRJ\nPc/8C76wsUFPMG0WykvuSafFyN0lwMWIL4zYNdh/uIYLn8Ey6257K+Ss43QH\n+5HK+YaIwWDn5+gSSiJnLfnqiV5ve8/LgjpRwGWANGtWUNDTB4ZvodhvtNbI\nCHXPYnMNkfhnpuWOdAWxrWIbsqWzw9t4KHkFGyP3hgL7iuUlN09xQBM2i8H1\nXw/NkRgea01GDTPLnQ5bQmCVEDhkthxavmsrjTtC5KnO/Wb3xbsjrK5DHoIO\nAhVu\r\n=mrVG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCC7GqpyIzwZXgbp6Hp/EIYXkuv0BIBlvzjP3jjFHp95AIgDZxJt0fyrpz19FyFlCIM4aOcGC+BxVUOGU7idgzkn50="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.5.1-rc.4_1628765463203_0.9682727389025461"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.1-rc.5":{"name":"ipfs-grpc-client","version":"0.5.1-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.5+55dfd937","ipfs-core-utils":"^0.10.1-rc.5+55dfd937","ipfs-grpc-protocol":"^0.3.1-rc.72+55dfd937","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"55dfd937e4175e049287b9093ed9a52bcf085711","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.5.1-rc.5","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-mLxTSkeBunS3hqtIB990NDRBSf3+z7p5z9u3TqJUaBwosQJA4WI0Kl66KlibFE8UEmyEZerWXE0VPIhCj8oCWg==","shasum":"a3d0c7915cafb97bddf3023a7858e3407c3bb1c1","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.5.1-rc.5.tgz","fileCount":48,"unpackedSize":282293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFQDmCRA9TVsSAnZWagAA0xsP/0AbCZIroUf9YsOJiEa7\nJE55+tMDcHrjELc0XRvPJ7OIKXGN6ksS42gBROmHXv1SaMZSlLitMN5P0MzD\nWPv5xXmg2aIGImCiGe+pOZOQr/Zoi4InRYzV1R68YJXok6XwwFGNavnbnw8t\neKMAG4SNDPO8hD59AB65NkQ6EG5bfDdvdxfqwZgu995EwxaTDnc5oilC85+I\n6zb8qL2D80H0v0D0BD80id2LgC3m6xZOITTIB/sroy0sszNG38dovgmCGLSH\nqCzs+Cyh3DOPgQq/gsCP18mCimToh4FsGaF3GW2vcD8MSn8GMjITgHbFixGa\ngphGl0zLmtuHjFuocllwptLs0DKzh4boRulVVOvL4eHtQyENOl7Isfbng7vb\nLE2s2qXhO4CgHzRwrHIZeXcgRYI7ePXd7EOCaHVPP/bAtGr1kU4+ikx5/13X\nbnM2iyERFzg2SmNqNV53mdXr/y6G+/RQUk274t7ltmYAxKiUd1HG/vBmNWQZ\nas4WH01OZvoyJ8dGwZVR1ef892QGsIz84CrWCjZk0N6SoTJTqgN/85EjFkOV\nvBLeoNxDT1gIyFXf8uKUyK7TBGmqUc+SAJOaypcgdyhi5VCgbajPhka1QmOR\n3i8iQPismLjpVKqvMv/bBKH2LzJniFXXjZ1YvX01hz/gTPlGvnZiCj974A2B\nlb0w\r\n=/fiX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8diFCZKCw5prUAddEpNs/VcptJWG3h1YdjrcYLI4iUgIgZ+AnIn5b4ExBVGL9eAPnOSsbSA+OdImbdeTiESzbaqs="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.5.1-rc.5_1628766438816_0.1669835611214614"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.1-rc.6":{"name":"ipfs-grpc-client","version":"0.5.1-rc.6","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.6+9eb29106","ipfs-core-utils":"^0.10.1-rc.6+9eb29106","ipfs-grpc-protocol":"^0.3.1-rc.73+9eb29106","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"9eb29106c07253d50121a5be1aaceaf62b022742","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.5.1-rc.6","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-lPdHh8XW0nXOArVKVxP4KWy6/zJqQnA4Yi5adRzwb/3rXUhJW0U7wEWLfXtTqqNCWQJNgbc6yVI6x3tavLqfpg==","shasum":"934e6bf61e7a6a4b945b91cae05641d20aa4facf","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.5.1-rc.6.tgz","fileCount":48,"unpackedSize":282293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFSvvCRA9TVsSAnZWagAA+ZgQAINhI0wo0rOnl0aLIAfv\nlmiMwyb1BbNVzJOh4ZapuVYO7UgCoOVSPTLPmxNq0YRD+IoiJyPch2otA3fH\noW0/GF6cdTd3+Ck2VFiqSG1WvO4zAtKrwCuLeoZT6blQDVCgQERLmDp1wHoi\n4LkyZob3KrSVWkXpkw5NO2f6T9694hs89P9xzYWRWJ0FI41FebGuRiqGW6m4\nVF86nm+d2ql98Jvo3kIi1ZPGUTGa4jXcFj8pfoGM47pkBjkLZetMCO/WThhp\nnzutNwtFQOP6meNyYv+4tS32QnbK9hdejk6Q0xL7nINbdT8HuN4dAF/UbhO5\nzFAEMN8R/ROa1sfnZM9fUYbyu4jVICTv7PZpiQV+RVJdG66N9oOc4gkUq/Fc\n9LLczha2GXbiC2GKP1QIw3RB+LvZeZxh1x2dyZzCOv71w4siFsEhsM5mogvA\nsUY/oL41fsOg6smUGicZDLkrv/GbXmwJfCpCZv+nICETfaI2k1BwKase7Cwk\nI/rtTPkWa81uAaGNykTBahbXqTSxehjflzoSJF+qKwYTB04kBjm4FdHSIqoB\nCyfEtSHPuLRjnY3tPvmN5fAzk+Q+vRqPFxGii0VKEsUnXpCaQ366iXStvjVG\nYvOymLoSVh+b8CK/F9kAalpO0ljUN08a7y4PGzrV/Ir37lDwLTTRpBgnzkSY\nfCnh\r\n=aZFW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDuUFiXIg35+/k98STHs2ud5R/L6aqGhDujzYvCdJr3TAiBv4eR76vQ7biUsEnyJ8XIovwu2lBv940kcugklFbwAjg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.5.1-rc.6_1628777455731_0.859811672193759"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.1-rc.7":{"name":"ipfs-grpc-client","version":"0.5.1-rc.7","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.7+1fa4e8d3","ipfs-core-utils":"^0.10.1-rc.7+1fa4e8d3","ipfs-grpc-protocol":"^0.3.1-rc.74+1fa4e8d3","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"1fa4e8d34f47d1d6273b6d82801d324dcbc6cb61","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.5.1-rc.7","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-Y5S6C3HwvAreamEqC3/wLtHsz+1BZu3syUpG6zLhNBoQbjrIU02CIVSRoA3t9OEVA5cF3MFwIOft4vRzEEa5IA==","shasum":"a8c3fd2677d7e9de64dcdbc80f1f5005e620c0df","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.5.1-rc.7.tgz","fileCount":57,"unpackedSize":289412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGoiKCRA9TVsSAnZWagAAdtcP/2tdgEMbQkx/kcNht5/Z\nG5ccYNQXOox72E1leUIPnLuSPgvnvhF9syBTf/dI0wV+IpV9DhIL76lcBK/9\nIxH3tHXk8ninmvOyu3iscO/aJTJsHohDMSDgSXwCKSSNfHfdMUBD7nHivpRv\nxSdOzPVzkMMNVFutn8GGoljo2vE59hP013oxJso5U0VfHaeDoBMPJNPzmp5m\n2pPSFNvy2Ui0L3fxvw3ROCNXhGDfbtr1RCg71QPkFx4wTfrsN5LHaWrG6LHL\n5ifQC4gZVoepfDsvglvAfun7T7WAHxOV1wZZGplh1FzMAgBL2d42a0C7THaM\nWbTUJZUMAojfPqIOPXmGHsrRcEiM39hRzkv3IpnZCMt7ProljTG6xsaRiQ5k\nZniUjw4XzIxZKs2Orgql3p8iEfEqBYRWcfYnI4YQxcWJsIL7XKtDppFd9N4w\n5/A98N8u1qphbR724+xGC43vlThub+XlnOGi0m4FHK4MODFlk7upIgcnM92F\nONSk/2YLCeh5usp/ehduWaCWYXSIbDQoDkfGkVNM7BFfgocB7yjUpOLKUp+8\nrzjkD8+vqbMEcbkc47RHUSuxYTa78YriRwfOognKA2bndMn3ShBTVY57KKbY\nrxz2rT+tr5QKcUrMdLlUcGswr96lcZGDnWJQDRb/mNibltbhDAsG5/Fq5wTS\nlpC8\r\n=jsZy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6gXDZBsxH2C5BoFXiA9MKuG7svQSGV2+n61DPc99oagIgEhnWByWBRaQ6ygjUfm9nrdhIbPVcrcrfLR34MBz7kvg="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.5.1-rc.7_1629128842127_0.20005441557630688"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.0":{"name":"ipfs-grpc-client","version":"0.6.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.1","ipfs-grpc-protocol":"^0.4.0","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"f9099fd0b24c0f474f5a9a3309c16adad5574b83","_id":"ipfs-grpc-client@0.6.0","_nodeVersion":"16.6.1","_npmVersion":"lerna/3.22.1/node@v16.6.1+x64 (darwin)","dist":{"integrity":"sha512-Rwk+So6FQK7HdbOGhz3HLMrI9tIHOcqdKP7aAjQubAxEaLZJY6J6nJAX2wKSckhl/FXfnZBcAEFtE4msXmJkWg==","shasum":"dc964432867b02340e41844c703dbb22abfcf097","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.0.tgz","fileCount":57,"unpackedSize":289783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5KjCRA9TVsSAnZWagAAaXEP/jO8wpz+yqO81LYJiY0D\nrHGGSR/M0KKfOM3Y1/05B0O65W4e7DcaziClHH4RCNJA5wBsvpksmdlJuIeH\nDaoOSNegjOuYwCqkX6QamlIEiYCT58in3Z+ZJNX+htUlUMyofIYkNbaFkjCI\nys0AS2X3p62Pa6mPuNcPHAv/7vmTmjAoCO9QI4MNSvp0IBYVwbXZbky4OsaP\nvNLK79PvbYR5+f4HE9hTsvA73mIsku7iJoEE0U1+7WXH0GrXLf8Z2voTZIVo\niRFC/3/fPctZ2KsqRlNUwpjKJ9Qb+ICN0biuEA5JLEtWZbLSqPxiVxIwrqRp\nhltCyogmI8KdhiCcCvPnKckHsuiZsh8g+FWW048AlqwC2Aql3LatpwZZPb78\nFu3KPSy7DU52oznu8l0Y6eHeY7c2WvSNLxB07CJPRM5anEl0O87pnf8jnZRC\ndecBspz8XoPG1MLfJ5g73QGjVBng5ciyWesTaCmffCRCL2UjokZdAAbCCwSP\nydlta77JPGxND25BsfD1bdPkyknOBncoCEH8Eh5j9SKZrz2eN/Uwg7slvstu\nNVAaPE3DOr1ZFKr/RidPgDHQw31fwOIyCTkC6ezs6Y9pTh+sXJP8Xx7Ckr07\nOOzkQm24E5ohkqsKpniENNSEopUqkbnvsT/VSMger2579VSbbJl0gdKU+2Yz\n/QZZ\r\n=w6JF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzOywdf5U67mw1xUiM/988AmhKyiskBCZ5BqyUqr3g4QIgEyLDdE9JkK81RArpFjBrs+CIGjiiC9sjieKpkPGPy7Q="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.0_1629196962907_0.37017368317752664"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.1-rc.9":{"name":"ipfs-grpc-client","version":"0.5.1-rc.9","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.9+c1375617","ipfs-core-utils":"^0.10.1-rc.9+c1375617","ipfs-grpc-protocol":"^0.3.1-rc.76+c1375617","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"c1375617b6d7137e098375134097d61edf316ffa","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.5.1-rc.9","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-t2WY8h+jj1rD1HmOZ+gfeVal72znlz3+D+LPZJ2Io+Tno0MOSVs8R8Xo+7P6wuoKF86i7zByRwd1PbRZcmOSaw==","shasum":"73fc2f61569bbea7950613e18ebcede0627835a4","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.5.1-rc.9.tgz","fileCount":57,"unpackedSize":289479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5TfCRA9TVsSAnZWagAAJkAQAKTEb1C18vrPdIAo3yQ+\nD93DUYMrIQP2aU2iMzefvs04nzdHQCu095G2aaHNMjGUnk0C7a7WK4JA/Jt+\nj4AUDHHZLC5cjmXZIjoAcEtHmcnBR86N+2WcKFs4Pu7XXZqTkBiFvz2JT1lV\nk6lPKjy9x6ha1H4hpFkABWs0IBLJudxokrq5dYTqCHgNy/rtoAIhhkJ36GTg\nLP5CIJ49SnvfgvCC/JDSvkaQNO9Q8OFNaqiRzBpxW3TSEseFzECC22pwXFji\nZCdGUEzR9ycYYtoJCOE9vp6EQ+j1U6ivK33o6Ie3OIzeQcFZRTUdIktDd7R5\nzN9CZW2AMeofMgo5usg0nQ4n3jPXqxECoezbq5FL6mON2hjGQxX6p4lWb+rE\n6I18B6Eb+kc+XXHnC4mdHdHi/Z4UEB1ffYn7Cgn9UEMiz0484MyCiPaLETSv\nnTZMmYnZsHV76X685ecZUtS536KklfF29h62i4ANHngGBK12b/TxrHS05TQV\nIkH9hwPm/ZuMCtxN7nUTsGKkQ5x65QwZTNP0xxzHSpU5NXkSTztZmRkJf0ge\nIXesSOXHkbBQDvCx8Z4xdIidbVUHQtZMNQovnM7IP0MpnGpeKrovD/TgyaUw\n0AHLK63+osnCfylLOWQOMB1FCRdoJjKoHUZ2hmu0WtMGkTJCo7a9JXXIMMTH\nL0/d\r\n=VGYT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEsWKizh9O2pq4FRysSTSPj0J1NZfgVQKywYqjoG1OAzAiBUUhCcrd2JeKr9i1OTYF+J8WyZZQlLs6j0FfWwwmF2Gg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.5.1-rc.9_1629197535296_0.09795964166167503"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.5.1-rc.10":{"name":"ipfs-grpc-client","version":"0.5.1-rc.10","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.10+2c1a23af","ipfs-core-utils":"^0.10.1-rc.10+2c1a23af","ipfs-grpc-protocol":"^0.3.1-rc.77+2c1a23af","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"2c1a23af193a23c4a710a9007c7c22b4b729c7b3","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.5.1-rc.10","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-SBKEOsFTR6ZBJs0kAzOHBBddrsqgvsDzgP1niNXKEXL7aYZmeJ4AeUXYONL7vwfL9qMQKnon7PSRYFtj793OGw==","shasum":"e624694011817dbde856d937b0161bfd90178aa0","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.5.1-rc.10.tgz","fileCount":57,"unpackedSize":289482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5j0CRA9TVsSAnZWagAAFYcP/0qUx3P97YAlWwxDPfxW\n6jJ2WF3x8X8hGxH85kunHvsuWz1poTdTaxc2rH2sSF8VJORxviPy8k2iQUHH\nge3FkIAyXnj8iq7d6V83p8ShBZFYyhNPaT3aX4L0t+YplFCRuw97GknSg7LZ\neuarA13MzYJJJb2ftTIkM2Vk+CsaC2uKrUjuWOy9DRYrlzTZaNI9neScnain\nnlSyThh2JWKQTrDbh5FrBRZ4uitkYZ07s/QY38EezEwabQqm3uoUpDq+x6qg\nlH7O54Ye884i4mYcsieg0spBubFj4xgj/IAlC22uJPR8T+Y7t9i8HXBgtgzA\ngux0+DE7/JtLq21YjKW5CFoQ3RDYuIB53QNh2artxUrB6QlywkL2OSQg9+0U\nK8jObHYb7EucMhd3adWKuXLiH4al2yAlKEnPa/2R7s79dPLTjNo88r5RL74v\n4lDQKDM+1VrMMmpZwX7JshliWtKfaH6bEZ5hese3XzlkfJGYnsT+Dq04Qy/s\nQAD0eMPkYeIE4sW1gNIwpWpWpLqzL4dGUkpwcajmZ3G7V1pyBJ4ZbeeALqVV\n4IKJ2P0XcRmglopF2G7FThvnKDtCtRO5oZ0fUunAYLlNct+bYmtNd6jGNvua\nzkyXRIpfOLiZFzWhtDBar6CWiIQK76OXS/6StIVIMsejA3j0LBZwhOJn3OdV\nY9oJ\r\n=irtB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDN2g6Wr78d2qkHO8t2L+aC9f7u+0Ik9u5VOCn0OUviWQIgS+alIxFwNfu5kPy8siJTk3/rUVIdPUaVKV7ySufFbhw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.5.1-rc.10_1629198580225_0.8505933915220314"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.1-rc.1":{"name":"ipfs-grpc-client","version":"0.6.1-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.12+438110ca","ipfs-core-utils":"^0.10.2-rc.1+438110ca","ipfs-grpc-protocol":"^0.4.1-rc.1+438110ca","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"438110ca4bce91dc771eafd9d6589573801b16aa","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.1-rc.1","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-P0UbHnCgJ8FfS7aHcfEALx53bIFZ77BLz5tBFVCjYK2W8FjuPRg2/J/N7ikx8UhlwMC9EX+VBFDCb/gwzZop+g==","shasum":"89c08e91141548646b98edb181bf3b3cc7d5af0c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.1-rc.1.tgz","fileCount":57,"unpackedSize":289840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG7HlCRA9TVsSAnZWagAA/owP/RWEsC75MfRCVf21M2WL\n7ElC+LaFe0y2qNLFbBeAReDAM/93GANa2iSgjVKe/nc7EyDcK34V3ch9+iPt\nkF06eFP/5pikmeXKK4jcgI9fUrVLNH880nMLWal8Zj6Enp211IbH6XI5i/Yx\nRUIy+nKXV6/p/3wxG0/6JnbL3ikVQCL84UaRBNeyYHvat7+CntOpv8zlYj+b\nMKyNj9z2+xI91MrRIKPc00Z0t4/ycvsIYDdnaOtqrFEyCI0ng7DMQ+ipt2kY\ndUx/UKWOCyf1gLj0yWRcILSR9lAyjHsUAAjdtVijptIKxsYIoEvijZcxZZez\nQDhXAX+3BLlTJhdw8bC2PwdA2ZzKsri+6E9Hm+sgdTz8gD0ABipSkdHeDvrs\nRtF5YYPFHSvdKLSStpl3ijXaZjQSgLAud9y49EZHaifkPp3Ozmmt/fTRucLs\nVq++1s3q6OEDN3nljk0Nyik6WM60iCU+Es14nh/vH2EqIHgwuyWA3PykVjn/\nO6mUQ4WE0k70k+/R3aWhUshpxVA3I3x3TmMNVDyPWerdiKlPiKscPQ9j5+Tx\nRrfAogHOnq+oSd0MbmwlT02zCj1R6PjjMcqsNjxG6ag1Jn1RNPcBnhzsRNMJ\nyrwJqwMWspfUUcWyFwY9b0waBIaBdlqf0O8vcFsaHZgTpHNbeRMNeRAukuv/\nLyco\r\n=tuPw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKPXfaMqtjOX45Novpm4ZAF4XeM1ze+amEkPyctyWJTQIhAJxXgnIymYWR1nrOdhZUocqHWh9h4rqIf6dkBZFGY7mo"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.1-rc.1_1629204965760_0.5403085759423576"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.1":{"name":"ipfs-grpc-client","version":"0.6.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.1","ipfs-grpc-protocol":"^0.4.0","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"20e7c54247a7f6bdde374025a9ae4a23ee8df0d6","_id":"ipfs-grpc-client@0.6.1","_nodeVersion":"16.6.1","_npmVersion":"lerna/3.22.1/node@v16.6.1+x64 (darwin)","dist":{"integrity":"sha512-oNwrXAX9Qi0fi8TcuhPIGXF+Gw6FFrCywbNss9e0UTknuBX7+6kfr+CN8MzA2rUbPCQXqup+wvtrjPooZGC02g==","shasum":"3666a20095c800a58451503d10246e5e4be8446c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.1.tgz","fileCount":57,"unpackedSize":289960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHBTuCRA9TVsSAnZWagAAqJkP/RwbaPAD26T7m70sSl03\n3WU8oNXYaLmEPl3wCRISeKt4SD1EdZLHIhekkuapNYlnfS5ltPxCeOXyjAAC\nrK2xerrsTOT7gB8wCLDwTCzPtLh5sSi0kgvZgXzqTKt0/zz2kx1WQ5j+w/fr\n1Io92jFci9BZkNAIstxVb3Acy2RJXEFj/5E9a61YG0oz1ESCXt4eD4gDzQdi\nu8bXrDiwIEQMK6AdZs2PAjoUChIRkTi8IUU/wEWzdr6YmBg5bmgV0J0uqrwk\nwPVo+10JInUBgT+Hq4w+rOfygzd5nAe5MLPEAFxFC1Xufm8cvQ8w8E18rdws\niifG/52plmzKDrwCXwCIH9HmFbfeMXx0bLyup+eGZRaBJHKvvNUopW89Fe7y\n7UyK3UJWUx/q0oxsnmtRQazj4uGdkb/0aCPf22V4PCm6MHrgXOUTQcr088yI\nnC9+YaTOZU93jSzteVN8xdmDg1aC2qd1EI2gDN49N+iAD41zXg0X4IZB/jng\nsnhwLZn+kQTtRfcjKpUXecudoOm79KHG67dgubNGPYULdXNj82DljEMLD3hf\nNuDWuaZThoRzZbaOv9nORIhSmz7xGiDT+RTx5J5qjsSOSwBMy71U/nrbvL+x\nvyu84h16vFFW1cfgbxXSia1wrYmlMEZRfJ8wYlUX1qzwOZbHeotwoYvhdbhL\nswct\r\n=2PBI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEI1RbatSqGGx/24eq+e9/e8c0wWWgAPj2QzlFMRnyPqAiAYn6s1Kuj6P4M6G0q/AfGiCvy6EcbuXrsOCoy98TTcEw=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.1_1629230318158_0.7626511570712067"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.2-rc.1":{"name":"ipfs-grpc-client","version":"0.6.2-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.15+abcca045","ipfs-core-utils":"^0.10.2-rc.4+abcca045","ipfs-grpc-protocol":"^0.4.1-rc.4+abcca045","ipfs-unixfs":"^5.0.0","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"abcca0453a2b769464a46b23d1f45319d62d0aec","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.2-rc.1","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-k8lil1zcxpZZlyZcwz74yNDW3zFWmVHplKenMFh7wP+U8jbjqWlfKGlEdEIrrQNEb8Z05zxrdK4HH9WEwKM2QQ==","shasum":"b198a034e075b90145e48508781e22aba1ba0997","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.2-rc.1.tgz","fileCount":57,"unpackedSize":290017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHDByCRA9TVsSAnZWagAAy4IP+wUqCxwH6fbyHuLn1QEq\n0jlhpwJBSkIcdHHoIMd51xtkJL/nA2z+ucaPwf+oRWBfV/bjUxnfODspUDcY\n62qrznRDBPUtWCh91rLCqdqkC40lBm2/Uqg7RSWDoMYtBC8xeprf9tQ/ciIx\n8dDE+KPx15rZ8HeSGlIQG2YE7uTtAme8L152T2eZC1m2iFqeC2Hm3XW619SR\ngR8OX/C24+kMhkUoCsmUxxjdT57+WMw3DoAxPs+jU8zu+o6qhm59qePFysVE\n9X3bwMda422tZJ9i2Nc5WM8wJxhWw3wAqrKDzM8CE6vDn0kzXFW+BknaPYyM\n4YQ9uuSsE7qj7Ymp3qF19wCeaI6fNibEOh8vtN9v3s7LTmGyRJ0IFr6gP8m+\nnhFZfDQhTDhtddIetXAMNmpBHDkVW3szXxfaWC4WqZOPq1d1nxRZea3ImMkR\n0WRv6U2Cst9o4PYXBEaL+2SzR1dzy6rCLwr7w6Sl6MORF/ktV0bLC/guliM6\nGveaaY/j9aBRBSmeu8FcwcxDGmJZ5/yaIFbDi5GA1PzCX7I85XdRoQwxfOs6\noUxTy6ZCmih5+XWN7RnqaeWXhgGdlTA2dtwI11U4E8ordwIjW2rTVBV3z52q\n5eNCdh1xpS4naxbk+JIkGw73MWanttxVYvr/yO1ec3+FOZrFY3Ygr7y984Ge\njE4O\r\n=mOHH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0gGgUVNRaH8jLlTppxb/GTvxWrO+CSHjgL1hKg485yAiBVNauZAbnSD+RYFPkgPGLtUDu5DiVj8J7yszkYcmwD6Q=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.2-rc.1_1629237362200_0.23949166360571938"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.2-rc.3":{"name":"ipfs-grpc-client","version":"0.6.2-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.17+beeeff01","ipfs-core-utils":"^0.10.2-rc.6+beeeff01","ipfs-grpc-protocol":"^0.4.1-rc.6+beeeff01","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"beeeff017ba49c3a171d8990389a67eb5c3103ae","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.2-rc.3","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-pqjHsJ3bZizYZUuPk/dggdM4UUA4lxmIcnh63FeD2JFhVt2GSmnOdu2uQVvI+EH+xnvjOFndoiTlMUoY6CmGYg==","shasum":"6527954c705462f0a3b615db7767ecfbf974824c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.2-rc.3.tgz","fileCount":57,"unpackedSize":291547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJfITCRA9TVsSAnZWagAAKCUP/2cK2S5AiHKlXb1Gg3vb\nqlEEeK0TNMMTcb7Ud7tN6QJBHzFWahoHBA+T4GkwFH9dPM6wNFD0RaMRWoc0\nZxlcLmNG4CrgSjMnnogOB/1aFRNtbFf63+RpYn+tmZ8OiBSjs4NhlUF3bv5w\noBXcDZbRzY6iIY1e+nMrzXmkYt+pxMBeYQ53tVZKKu+r3qmeWfaCt7e/5vZL\ntOL8KH4ZbX3tax8wgfrkc2PdYLZUNUxL9svkMNGxdbWNngMdHvy3zhwf6ocm\nK4DshLi5zrpS+ylLwzSlsHfc3eTlBLhIE9d8eXuhwXGUtBkjcYTNDE1bPMMi\nS2WIdMdmRGt74K/DawxXXFsuSV52ZuWPYVF5HX2xBZdoYAdMvWJ1YyIYp++R\ngzSqxeUzCFo0G1s/wdl2OkkSDN0lb+P1urbx336cFlB7hp+TQXRx25mOOT6/\n4siugJVrN/AX41gyNpyHhOcp835mqcYsiTXLIycqRUti2QxB0cXxRg0EcJqR\nO6WLNxJJtkjO9RbG4kvkoZQYvUTdlLsg5BpyGr7c8bAlFWESCU8PWFyAZ08E\nOTtlKB9iMhnyiviONY8YIKz10a3NlICw9CQsuMXs+Jl4/Fpqja7TP1Y+Sjal\nKGFNryRm2Q2k2sMWNGwLmvtxv0ErCBnqZZ3EKvPlLBhbwrIKVKMxyBpO+o6B\n2nyV\r\n=vKq+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXoI2rTOSmmzgBZTo4ZnLWVCxJIcvSi+77Dwfbc9gU1gIgXZgu+98BEZDxFDaHAgpVwzFw8STpo05ZbhBPKK9XMT0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.2-rc.3_1629876754786_0.8381406137066072"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.2-rc.4":{"name":"ipfs-grpc-client","version":"0.6.2-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.18+aded7dcd","ipfs-core-utils":"^0.10.2-rc.7+aded7dcd","ipfs-grpc-protocol":"^0.4.1-rc.7+aded7dcd","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"aded7dcd65896586bd46024bdb562c9646056b7a","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.2-rc.4","_nodeVersion":"14.17.5","_npmVersion":"lerna/3.22.1/node@v14.17.5+x64 (linux)","dist":{"integrity":"sha512-5A2fv6cz6B3c9cBZCuJbbigrG57hgG2ndSrGfhSGFrNtrdX5KkO0GI9PjcaBO8kFKMC9m0fu5uRcbYGTTpA7VA==","shasum":"21e5574190c14c5188b4c651d655b5416c3422a3","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.2-rc.4.tgz","fileCount":57,"unpackedSize":289771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJgToCRA9TVsSAnZWagAA1X8P/1WrUFKMbakj7pTUmHXz\ngtz3nu0bcJhZCPCkGvZLyJD6UTnbi/OaRzKH/AI3KOCuw2FbeaaAs6T1FTeZ\nZRtBqMOUoJJ6rxvhRCW4s5V5RZ5vVeHqvSjMND+4On7Bu2iDfssKXL/vS2b7\n0EgL0Pz8B4I3rai1tI2jle5w1bdUwYlsAQaorTjTr8G/PbCsJLitQB7cG0mh\nkAEap8GupCN7rYWlvc1jijgPNDuDgopQqmTdhLJDo8RmcrEL6A9Llh35EPuL\n/PNJW5bNobCKKyS4wayVN1B1Qh+iZXnU3ko6BXqS2/IERK50pDp1CWJwXcbJ\naRcPUN7FAs9YwZniqmbdC3zxX4N61QxyHmXuJNiuI2egXqAc9ssEhn0x9MXg\nBSKJ9Io7yJoh4ruOEGr+AMWB1rr0me1l0MMDvbpH8mcn1DKrM9n0tUW+cp1r\nMmn18bSHVtE6U+QzPqmoirQhyD/FdEvxca/9JDNrOXjFAhh3ZuNIJZiAJPSN\nkPOqYEcV3C6W/DMu8Ql57tfnbCbfyJeMo04GZm8vafPe+JHZ/bUR2zh8zeK/\n9bxYn1u+E60axgAVXXsS/6lqaSd0AVcThptOdUD/EUSdD3QoEwHstzb9NOg3\nno/Glv6YHCVm/TVIxki5jpsO/S6lT+sxMrIBWRKPUmsjWW1DjsN3NKiq3Knc\n/ADt\r\n=1O4u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjC2Wqyqf+2tLYl6ewoMY+5HDOsX3ViWugDPhpfBosSQIgK49tnvYmdzaCUEfL2rOPmKk68GXkBIwJtH3o7prL62Y="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.2-rc.4_1629881576627_0.5414295948245729"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.2":{"name":"ipfs-grpc-client","version":"0.6.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.0","ipfs-core-utils":"^0.10.2","ipfs-grpc-protocol":"^0.4.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"6ad2b40be914098981a2dbd370396599a918d0ee","_id":"ipfs-grpc-client@0.6.2","_nodeVersion":"16.7.0","_npmVersion":"lerna/3.22.1/node@v16.7.0+x64 (darwin)","dist":{"integrity":"sha512-r66Rz1JYU2ViRqWtzayRU7ubsEQ4hS570hSaBae+R1KcBk9n05dxpnIvOfXBqeovVumdqGb/I0zSDL65U5RJUQ==","shasum":"151b4a33642d4388908f8ca0e8a61cd2b376bad3","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.2.tgz","fileCount":57,"unpackedSize":213290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJmglCRA9TVsSAnZWagAAoQMQAKOEjCsFp7YXNe9lMk5Z\nVAkoUUrGoMX6ZZayq/Y6BuHBv+nH1ir5BOntctsEvHsNv9Ug5QxOY5xjXwc1\n+DWmQ3naWf8Q1gHF5QzXJCRz3iGDKMraPatyTfbU6DwTGVnkz3mp6EOCIGNr\n4imM94nM8EHJs2uSbveJ64DguzpoRq/WKdXXTLTlW2SUIRK5YtRbDUzolNKL\nETSXz5fdRGfDDSM9oWZRO857oE27iT3l8rCRjejJCyAAWzoUBA22AvCJByeM\neNdAW0IJ6V9EWCjTn1vRLeBLdmlBKoIhtA3+yctUNFd1lvGDg3ibnyl925Pr\nb44zhFtA0p8oZijK2kH1BytgPfpwZPwYO/h7gojcG5907uCPdxtdMXLsK5KM\nO/iyg16W2vrKTmF/zr47cqvrqft4bkn4UjaN5U25bCiEsDxa+nU2OQzNYpQL\noyopn3o3bpq7XYokmLcCFFJfcwSUF8vTPPWkKBHESljPdAufl3JhjDtiqc28\nm5OYPJeo7GSMyUeUMzqHtkf6JqlhAhLii/uNAhinEjmkk7+qTOFPoZAPlJ+H\n8LJBagP7k3pj+MdCneNiJb3tVQ+Qix01YvX+nCejpnxQ/LZkZgiqtm2Mluzl\n2c5ZaXS8MivXrVcUB8UitVT/vNZp9pxvHasfZxqwiNckJeq36iJLsWuV0kpa\n0IAJ\r\n=FUcU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDj07TRvnA+DtW54M9rt7fRJJ5aB+XZP3WhzcHIAGSe/AIhAJfm/UHx0X8eJBglKlh4FqnclKM9yym/Rs6I5qe+HtB4"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.2_1629906981372_0.035322262811035454"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.3-rc.2":{"name":"ipfs-grpc-client","version":"0.6.3-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.25+ebb6c552","ipfs-core-utils":"^0.10.3-rc.2+ebb6c552","ipfs-grpc-protocol":"^0.4.1-rc.14+ebb6c552","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"ebb6c5528eee66d07ee64c4ce105e9b1228cf857","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.3-rc.2","_nodeVersion":"16.8.0","_npmVersion":"lerna/3.22.1/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-ytAKr//JFVpJRdo7W5I3yF0YHTy6DNTcsatyeiF1WO1TeiApX3QcLVWBhVRcxtTDYCxM97Fay0S5Vlk+jp8EEA==","shasum":"b1e808437fb78954db8600573dea227468387829","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.3-rc.2.tgz","fileCount":57,"unpackedSize":213348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ2NoCRA9TVsSAnZWagAAcmIP/2uDlCLm2LnbI/gDFqH5\ncafgCS7FXV2CVYGBsvns57e6o10XfcoFuLy+8YHpbL3czqu48Pdl4ZONulDE\nUzKWdqZTyUpPmkRp1/mJwVejyX1issWKO9f1UTsXxrOa+FS6/HAOskxi9V2G\nrapIPJ/+H5MRT+Gfs3++RoXbPgoqwOZtYcweLnU99ctFNZqxjqBgcKCR2GJy\nBfUi9ucarLiH2bCd13JiFWKvdSxk0VUS8jASt+7ssibafLsV52c6uMBE9jyn\nJzBE92iTDBWsdXGK0ETMMmqN/7NVE4JMZsh+piryQYH8jpqMZbV29EAruGMh\nSfvLojTNiFP/C1UgeSRssHUbn4tt42gtBdQDCJGacCDBGLCODKgHGENOe+7c\nLXYEPIi0DNfrNUdmq8fSqA3YyrqE85/0jeyX3aNgjSNkxlGnaFVSS/lW6eKf\nInoD1DKZMqBPfoLnJXWB8bW1TfeSk2TQz86ALiVjowDZ9v3d9TG+C/4ImUbV\nr7Bgoml9VjC+AzxqCa1QOTSO4sEs4eonYaBhN+Dy8RMAsEDlwu1nOkcYe/Rs\ndTZMFVkgfdFd4VQH8Zi7oyQuisnfQeHUfFKA+kwDthJaf2eh9d9Yd8x42bdF\naPc0x5E5azeVralKH129t71+ekX5SVlclNWXTncjHaPRikpST3U+BCwY02ca\nxhMm\r\n=wqhc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhdvEMmEmiCjIix6kYZ4nS/tYwACK+fOHnnbogGu8wcAiA43ZWaozaITbybwQ2Cyxm2zwgk5IbzSdHA8TX7Y0gYgA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.3-rc.2_1629971303998_0.5589654872928245"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.3-rc.3":{"name":"ipfs-grpc-client","version":"0.6.3-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.26+6c46a3cd","ipfs-core-utils":"^0.10.3-rc.3+6c46a3cd","ipfs-grpc-protocol":"^0.4.1-rc.15+6c46a3cd","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^34.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"6c46a3cdaf6e9f8756632e501019923a01503282","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.3-rc.3","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-Cp71L52VQWAoft6atesKmvM6S7TErQ+WhIO7zyLEEuWZjSx4oVqMKTScOlNe2ixm57gCYqQ8BG+PU4vTTtoOdw==","shasum":"6956dbe294359033540263415de9704ba5dbac2e","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.3-rc.3.tgz","fileCount":56,"unpackedSize":208266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ3aTCRA9TVsSAnZWagAASd0P/3ip6TIfPxOuvBrcJXbk\nLr9ZmTORiw+g157lp/vqi3DQA8v+C3RSnZy9YMikK+4hT/zQ99zVYFwTjQ3g\ngZKfki1sfjCnd808Csic28+A/ekcTZSQlYBtVoTRVdVBWiUz2/mmEA4JtZ57\nfSLm3kiCzSvzMtibbqN7IXyxz7g6xAaDC3wXvlIiwkDPs6ZnA+LNIpTu+Vmv\nQVeygLb6d4H9RNdArR9rjO+5+TMeqFSulImQINbgv5czO/o/lg/z4lz/QE88\nD5aYyNalZkfgD5CSu6rRsJ/vb90QTsbnY4mKDCUhN7Rr3GxcvjZ34Wdcpcs1\nnvjQma3+kCAFbNTOK2HflDJ3QkKRw5JaASxwkJ8qa18n0UtOZihTSiOH70u6\nx66o0U68jETookuIILmIYxIYMm7QEdJD2bzA95Vg0aLhj51mMKffrc3ibK6x\nnSC4dWV5aGaNMb4X5e91pV94mgFGFNIrf61EZUeqhuLJvfxwuecg0SOhucqP\nlwukGxzwQPvJA+upBWmYQYFdSBdPSA7WnjRygqFvxdE3382nuG7YkEfzjbBU\nG38xFb4yIcC1sZf7LeA1CIKzV9Bvj3uxTCSqIBvqz1o8WvrKkpohajNEs0nR\nPpt3x1x9VyOFbBm3n4+nJuk97XftQBhS4NNdRn83suYFTMRW0VHoP7R4FUN9\nAqEw\r\n=N7aG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOr8DJLq60KpZ/8vLjopSRFnuvSMKkQ1pV2CfSrNKYwgIhANpB0A9Kdd8tvqv/fZ72Lhbcsq2qy4KY0OSnm9POwtxf"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.3-rc.3_1629976211092_0.9748071381515395"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.3-rc.4":{"name":"ipfs-grpc-client","version":"0.6.3-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.27+1ae25d01","ipfs-core-utils":"^0.10.3-rc.4+1ae25d01","ipfs-grpc-protocol":"^0.4.1-rc.16+1ae25d01","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"1ae25d01d93d192d8242c7ee48ba338064ac9e03","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.3-rc.4","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-yubOVmLVqDpk86OFK4b9NnOJD6KUQNJkMpIZmBOgHqbR9vHqoOZtBmv/aOvv3r/uC0v4aIaOx+NsAiKim+jhZA==","shasum":"d91a7dfe2d52e452ec6394262e74603df24e70b4","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.3-rc.4.tgz","fileCount":56,"unpackedSize":208266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ53/CRA9TVsSAnZWagAAv3gP/3pAnIrZLL+28sgtEJIu\nQ4LAKSMB5g/H/1lTvbI1PNdrFWQg5Y4sbXjOfEDRPidPKlJJdKSyoSk2524r\nbOf0Rz6w0yh8DMffBXzDCdkfp9fDuZXtG2FLg2SeP0ACpbB+QJfbUhM36Glk\n9hVcLEWJiwTtwkDy+yhR8pemvP2Us0Uvq2bVV9+xTcNyY3RcUK5bKrN54gGY\nFtPrtPtxVIBabasYheIs/zwVoJ9H8cWNDPCDtqekRGI7a4Bh8hsT9Cbr3fp6\nfCfgcsy5MWha8GzZp69eT7/RrMI0PUEcg6pVqe/gR1e2d7lPUj1ZUqmBQ6iK\neS25pdxEYDGwJiU/yHn31WAvu0ciSx8ESic2fLZBXPQStkywjfMcvt4ruLWN\n7nLseVKKcVp+vJwCYxX1ctXcOnQXPvuKmYGx2nIuOg+pYDTY5R6hro9P09jR\n5079JDbsd/8EyRsvCS0TC2yFVk3l9EG6W+txgcRd3jd6yy/UQ2EMy6HpH7tz\n94DLOtr0GhwOdsK0BQbGI5c4BNZqKPHpOXEPJQ4mmKf4BdsuQr5z4x1QdVwn\n/Ni3HvLZolQ2yDn3rdVov++sXQWoVyr0DEGOb2GkDaznnrKkkcM1IVcBqrUh\nK8Gj37etl/WbHYl7UQvmHeX9YB5jyZGaYaz1EXb2KtQiAe40ocw0WhFwvjD2\nNmhJ\r\n=SjyD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCX/VYWCmrKCiWrQN3j2iOmkLE3RdyFISxByelPtIXIFgIhAIlCgORV8EMAegapamdY1IwZhgzW6jYsIYphgx5lbXb7"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.3-rc.4_1629986303098_0.386709135162842"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.3-rc.5":{"name":"ipfs-grpc-client","version":"0.6.3-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.28+6737f38a","ipfs-core-utils":"^0.10.3-rc.5+6737f38a","ipfs-grpc-protocol":"^0.4.1-rc.17+6737f38a","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"6737f38a27cfd7a7fc44afeedb1a7465cb17a3c9","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.3-rc.5","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-g2BM/tV+Mf7udmFEGgCCswFVh5aJJNgsKEy5ptO7wls2ZwWeEZaPD6LhCGMPx83bXBa/hkLinZMuea/sNGXPwg==","shasum":"5ed9d1ffb966c0987ebd5393d17469dbf05a11fb","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.3-rc.5.tgz","fileCount":56,"unpackedSize":208266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ7aSCRA9TVsSAnZWagAAeQkP/iT291YWQ8RLG6C410Ff\nOtNxNbGSF8bXE7f+HMJepjsLjYuotu29v+RpdA5HsATJumRhItDuvOAoaG9j\n/JuzvMEXvep1jw4A3wkMnqwVH2qNdacY6O71fNJoLL009z0zCySX2h2uKofd\nDSt1QYpD6ObGdL/5bhG94R6sRUAp7rzcOycG+0t2Z4iZjmuUGJ15g6eVZ5MC\nL41BBHJZ0VdHtfknZUGYKAjen0K97/rvRlrW5xHyP9nMhySQDgJV8jEIL2hb\nPvE2JeNwYOAaTtp2BCC6SwQlJTzkTCiimNO9e9YT5s7R7rZ5xf/pvP0oTQXo\nAPoJJbz0B8o8c8TlXnAOetX9NQ+73h5iwpsr4z6ALWwqDytkuBTEjLnyzRO+\nNkW4VWa5Fe4VARif9pgiiJmDKApmoCLDFDgL5fDspCx7/Z+B3kPfjQREmmNL\nJVaXxzSCmD+r86nVCr7T6fS8TT9efJ2LLIqmdn8NiYC6ymnGrijOFgeqeXa9\nT+WPlfGZTy6TP80VF5v8HCzgsIAwnp3Q553O7s7NYg4BT/Hx1mGNhm3Uk+cO\nzp/2UiIqgX8kVBpHlH2q2wxZG15ODXm4bzOyxUHWk/iOtteIOC2clVV9WNha\nctxd/PQPlbPhgIxLxBd+EWmnev/0DhmuhoGLoC7Ft/Vay+IeH2qrCpvD+qY3\nWRSh\r\n=P7wu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOOcsrqYdAf6v4JtvufKQWFUJByI1lVH1rTbM7Ncbn3wIhAIso7FxOvCzvyQ9iWcspRfxw/f+GDWW2YcxXJ34UxSBG"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.3-rc.5_1629992594728_0.8421046445699683"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.3-rc.6":{"name":"ipfs-grpc-client","version":"0.6.3-rc.6","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.29+100f54f5","ipfs-core-utils":"^0.10.3-rc.6+100f54f5","ipfs-grpc-protocol":"^0.4.1-rc.18+100f54f5","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"100f54f5b6e29ff64d9afb9c2c326707c5097cb5","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.3-rc.6","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-1sK3gqmg1ecUPuN3ttahLDmmsSroqGJXHy2O04kkyyA1xJbRewGtAfq2wCksMVLJpodRfFzfzHmH+C/Q/GhzYQ==","shasum":"e3cb40b1cce69a78778067c611d0b9a3b268cb5f","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.3-rc.6.tgz","fileCount":57,"unpackedSize":208938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLjAGCRA9TVsSAnZWagAAbVcP/jXFb5la/jQMurVKIWa0\nRfqxRiOUjZJ+3AskmgdbSB9TgwG1Zk1cywvImvd2sUGE7Xr/7kf0IdhX2ifv\ngclp4IGGePKf9iKqg/sRXGc38QUF8dMqARWpf8+Z4NsCpUmzCL5LBQhBHP0W\nRdN9NsZOF4P1lbz384kbTbHajqjU/QqswTe3dCKMLFtVwLcVDBNgxvvU1lYl\nI/4YO6NKF4Z1rqO8/YJj9kWAj9rBUM6eDoFYgxVyMtZqHX+XJF/JUyi9Hfcq\nzksQhiZKoa7Gv7C0BatwVG9nHFP5X+ELvfB2To+S2+WyjXRn+lKp1tJQTOIN\nCcqJp86H8CIfwlVw2RL9B5V4bEOkCxSZDXcu9GTwT7vkCJf2Wr8KXShMJ8x7\nQGbL7lI8X7BX99hGZaJ+ER07No+gt/1/yD+8JRtZhBTe9h0rHIE98xTL63SR\ndA7iOLKzk7LyIblitq/8w8lwyX9MhaX1zyCMlgPo8CibRz8auNGnypDukb6D\nLPYqBSPig88ZZlPGTajrApLfqz10rEr2cHpYvieCnN2xpFBmCVklCOHiGUfP\n+eJxruSvaQpiKngvrtFT1ykjIXHfqfSNxTsFxfeMGlT/NeQcNlkC8tECHHi6\nqZBDMNYwpeb0Dg+fuXMqpTOUE0YMKVGlYvRtyyGKQuIiNHJvwLjqYwOHHNVe\nd3Ft\r\n=MHFl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOYTWG2pQoYMSWfZulbiRIdqnoopmabYdObB5Ksq4/LwIhANpx0lwunnumxZ0HiZPccyJQW67P7edNYYzIcwtjFxIp"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.3-rc.6_1630416902367_0.5260399374422493"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.3-rc.7":{"name":"ipfs-grpc-client","version":"0.6.3-rc.7","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.30+be900895","ipfs-core-utils":"^0.10.3-rc.7+be900895","ipfs-grpc-protocol":"^0.4.1-rc.19+be900895","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"be90089554b3ff3d7adb02e76076e5cfa1d82572","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.3-rc.7","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-LzAgBczD2nTPYx1g3XUh8DQLQ34LE4sbXW4IhC5/BIfTm5G7TiMwp/F3ZJIXBEcbyRB3KXMtHl6tRWULxYCSjA==","shasum":"fbeffc4074448da9016b2660cc35f442361ab25d","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.3-rc.7.tgz","fileCount":57,"unpackedSize":208938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMObwCRA9TVsSAnZWagAABFYQAJeW1kQNOzigqF+t7+IA\ntq14p0MqlJ+HOt3xMditMXfxVSk4r+UH6T3B5hZzLWaBiu57uU+n0BBoic2W\nHi3akoWHyx4Hbtlrtet5NtaRxeqBueWT6zUkWums9rM2zkuKv6cPe9MwoyvE\nGCG2ti/hCvB3DtM7DCHtZbPJkNO+HVVQffbQrCNDLmR+pHKCQ+k5QtVkOoqx\nMdWViPZl+1x6hQgOOUhzo9WIHVASmkLAKYbsZEkPY0SUUNHS73BxiFI08CiA\nfio9xDfDxnnwznH5GMKSIks6KRZBCB0E7adUEzGC9B1cUCU4n8EMNBsgX2Qc\n4VqXA5s5AE8555PnJp9uP98agSFrevIltz5l5ECgWVZ+L1pv6ezG0hlQzAkZ\nwM/+X6CwZHEj5dcNR2I9+emOWgsB8RRe312bWwGQdOY4OTeKW/im3eoetgjT\nWnHCatpjBb/x7v6GEdkNeiFjQyAOHpnZeRdtmgif3U/8kgB/CI1K3N4rF+s9\nCykoCaUOk3EB2exr+wiqcZbhI0+nB6e3m6JxvdhoVnMbSt/uTB3JVlNZzSfl\nxktc8bJaFQRs84oTXe+BEDYfXubmgpTe2Br/BGSzNmg+lYWCmYNPKvaqfw5o\nL1hh3H8W1af5nhmxXUwk1EWDLVT8IqoEh2UFnqSGKg4gkZkWZqFiN1pWx4H0\nBu7G\r\n=u770\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEK4eiqgcqu+vl1WQFKyRxI4KWJ3w6fYVeRm5UddMyChAiEAtO8vmYl4g84L5th/DJqS4uvA5JRqZW3t1I/ERwQCaZg="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.3-rc.7_1630594800254_0.16267920857233809"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.3-rc.8":{"name":"ipfs-grpc-client","version":"0.6.3-rc.8","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1-rc.31+c4f96fac","ipfs-core-utils":"^0.10.3-rc.8+c4f96fac","ipfs-grpc-protocol":"^0.4.1-rc.20+c4f96fac","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.2","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"c4f96faca331a2e0db2d6de35a804bf2b9457c80","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.3-rc.8","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-CI2GWect3HCUNF2HeIGcmNHc7vk+sq99MI5EO9/1PUVHCM9gmybvsxoDysv5fqCIQh+NAaxqI7xvIiQuwvXSTA==","shasum":"39f0a2911b053af648b03a777779075b78740b5e","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.3-rc.8.tgz","fileCount":57,"unpackedSize":208938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMQw3CRA9TVsSAnZWagAAbS4P/2N/sFALEGi8ICaT9TZK\nb+sSMD2yq7Pfr+nR3zWxZafmNMw6B7YrD95FmD27qzBrH2Qv/hjJtmQqOrEI\nenLf59N+jzDNql9NJSAgDQpIXiJ+gzEsQmqDhj798re3MroTclcRMAOB0DYs\nQy8xGWM91xZm0V4EsbEDaktAzn08XfA4aYY+w9rIXzTfKPP86uyZRDFGzjZv\nrizZ2T/6EQLFFN42xu4MINYCwV0oSMXgLV5Y9+jV+12iFpMnf8gI1+wYEVPs\nvf2NkVsBAe/+M/RelgK5Bf09Ul2qjYhXn5nMCVi2rWUS2vRv7ANYBHmQu1DJ\nQNuQL6KhT2OPK+eSPkD2bwNLlCyfln/wZ3UcfAeA/LDNRVvqwyEnsNpHGM/h\nydeDWQ2wI6oyReAIGtjo2oZc0y+ya+5OgI5d0mYReUSfrml1okslgNYyWqpX\n3Jw/FpR+IBUUSkfuzDgw8cXl/H/jvHn/lRjXbsdj9Ih5haVuWlxxukB3fECl\nSrf6itzJs7N2NcCK29OoxwNlcdrVg6WR0NWm6HzOSddB8+wDSrRkF/yDKEuB\n0UKzq/GRwnVk1UfvjZkZkUsdQ7qvnsZWWVhbkP6l5mRmxDORFo9sg46BG4a6\ns/DcAOrSdd8UvGomwgigax8Vxrt/zs9yGuanFDj/F8zCpD/IlVi2ju6nv5+G\n70D0\r\n=Zr6K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAxgN0iRopR0ADLJjyrwWTfv7CVSclsiRDBr1UuCm0WAAiB8dPwJwqbOSeP8pZZQ8zpM67JPhMhwb8/JiYCGLa4VkA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.3-rc.8_1630604343025_0.5715790450077556"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.3":{"name":"ipfs-grpc-client","version":"0.6.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.1","ipfs-core-utils":"^0.10.3","ipfs-grpc-protocol":"^0.4.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"9d92e8079694dfbc7be262021cb9d41e6c5e2c07","_id":"ipfs-grpc-client@0.6.3","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-QjVsy7VxE3Tkx3jfWcHdeokdRjFRhTzwjHA/LXwbLPRsY80oTg+V+nxBVtGROlbEyHvjhIYfh9HIkX5XUW/JMQ==","shasum":"d4cf2d123f9b93d7c9a05e457fa1cdd6dc278ccf","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.3.tgz","fileCount":57,"unpackedSize":207470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMRWfCRA9TVsSAnZWagAAdtUP/AjMqcgXDCrorOQ7d3eR\nfDsGWbVpdZaoy+f7kYmSkRQFhNGXAaGzwIcjwwZz+MJLAvOCT8XxLyl2pjAc\nr1c2kZl3oH7GFR5wHgAjj4DtyuFotP9o3Sf6W8Wcxqb0pxPo2pMBu81aVwWi\niOl1f9fBtXpRWzJ78hxPgMD49lxZF0MEoF2meTdiP1oxjSyURNdvcVR2ftWS\n0Wlq1AKTkdcaeY5FZXJ/lSpFU9dyFJifrlRxXtL52aFp646k9mfVDndaYbXJ\n4mxmzFMjs7L9ufKRPAZuX/uriTiYgRf9CBS15Gr33mgQ8IA7NhYAK6gpHqer\nJANLvUdhuN0oGlyHfeVfqFDR9z7FxiQYIek93rEsT3uxnypYZyL5HRf3lF6q\nFec2B+jXaHIdWbJfHvZnu+hqENQ1yaUpkQqgoCkFLu6tP76qNGJzIRuKIyK1\nz2izramOjf/RxgmeVdk3IOn0dJqZPaewkf/LQ/bzt4p7nHANX80zvK/HMOkK\nNi8elQlkctT3ydFpkLrx8uUnDfO+jjZhwJZ7IReFIMQ5VYtf/QQ2N85v6Y0Z\nO6trLZl0x7RPO5XWQ/XFmSYBzZ88hzhH+iVOgy/vDNkR3Z7JNKL75B5TiazJ\niQCr3omFIWTCJJePwqo534z6hdDL7UDDQKhrKGob+OMTOosPfa7mrD1bQjyj\nm8Ob\r\n=wdrN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNok3RsLiffsjnbN7XRZPdITam83xLfhXYZZlTUeV75AiEA61h5oQMz6GBg/gs6cozjFeNCelvsSSxWUsgd5l7E58M="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.3_1630606751302_0.7629881305702362"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.4-rc.1":{"name":"ipfs-grpc-client","version":"0.6.4-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.2-rc.1+5cd78e56","ipfs-core-utils":"^0.10.4-rc.1+5cd78e56","ipfs-grpc-protocol":"^0.4.1-rc.24+5cd78e56","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"5cd78e56b8344b3f71fc7c578c4a50d92c25f0e8","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.4-rc.1","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-bizvMku6yJkDVDn+o/ifD8/V2yD2V8RYNOvwXF6WOUeRShUk5w3+jTjoX/c3WHw0zNpcCOtdxiq5yncJWIAP8Q==","shasum":"c4958899eaf6ecec77385c7b62e205137f4b3798","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.4-rc.1.tgz","fileCount":57,"unpackedSize":208980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNfkpCRA9TVsSAnZWagAAGp8P/27xklAvj3OXUvUK0tKh\nSgKMABe60GafgfVEw//rL4cusIawxXZ+pdaXwg9CqO9oSUKg4vd+UWNoTqUB\nPKVzIopkTv7myKYKapaI2Q7GjrsmdJNKuOsE8jp8civgE3/spsrYSjjyc9sE\nzzaucqm4v8Dp4zLOy76G0w6GhUUAf7Wncq/+YtfYxc7449DbRI58AQVjufSa\ntjn3ZxrVy8bVqv8eEJhG8qKgyYixwcrA75xJ+rzBjDPy45EexKVEOGBBhYa2\nUOjbfXXS2hckkiu/RwEnNivAyJutwqAz8AxcnmCDrl3ekl8YZgihxxACEfC1\nHifUwE5uZzG2peNP3CZoXQYYqNqX1ngifxljS1KL3rrhu/0NTWQhrfIpYU7I\nio3s9BhmmRO8LO89Ek65Dx1z9q/nsHx1fIOXbEVuuLLHYQKktlB/W1Vc8MKS\nsauJu3nJppRZOxh5pvqoyHLuGVtocJdUvKLNzlX1u/YleOY1QKnYpiaw0SGj\n3eFgp4nI0yrOTcoHW74lWDi7BzMTvZhMOjaJa9H0p0nWAvZzdQ+BxyRU3amS\n/i/4KwNVAmze4gNE5bo6YrGvuOpKMjh4QdiOpeffvIfV//kHDzU3Y7oYa23r\nxTidPj0XlkqYfTUzD0ormJyCoZ6fuHqP57cN96GS6H0iWSsgwUbCaTGfDi0a\nCDLb\r\n=FSkl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRoxdIpg8p8XE/pc/UdfyIkT350BElgcOUF5KeNM94wAiEAsu+LTcBHGYttaWeZZQG2WnIMrCU1XWaXrzlMJoaskwM="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.4-rc.1_1630927145101_0.4577345690811627"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.4-rc.2":{"name":"ipfs-grpc-client","version":"0.6.4-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.2-rc.2+2be33543","ipfs-core-utils":"^0.10.4-rc.2+2be33543","ipfs-grpc-protocol":"^0.4.1-rc.25+2be33543","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"2be33543a07c14a604fd484a481032dd75fd8235","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.4-rc.2","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (linux)","dist":{"integrity":"sha512-WghyCJ6DgXjC1esgoTWL78boQIRmbUoqYRa5CpRAEf21SJQTCGUgDVZ1BIge7395yxEC6Of+jgPsWurDqrNdJA==","shasum":"074d501ff6f5a92086ee02a5febc6d73c8ce8620","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.4-rc.2.tgz","fileCount":57,"unpackedSize":208980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNi1zCRA9TVsSAnZWagAAYNEP/0EoM7pgK28J+nn/9hkw\nSx+IcIRQyKiNoUqtepRAgSpLLygZ1KvmIEkOzCvCmGfG1g2VW+wBAvp8j7YU\n795mx3XwM2LJ8Si3RgxeY7QIG2dgY3Qo6331S7KMGGLU0tujJfjGmg9yg5Bj\n4VE5/USeBqQec5UK22xgQ2FqBIlW4rk+QTR86AN6FpwvyJ64KxgA1DOKpngF\ngA9Kt+V0FA6tly7clKUfWTw3ewF7gJcFu/Uy6RpYfamMvYJetp70q+kB0kVC\nkYp/R2kURI04bT7Hc9LR4ehT4fao92WV/SOqPRgGdxG9hczE54DKvvMK+con\n1lUF5zrbxGhiTFJKsxow38egBe7q0AGO87Bp2VI/s8BBggB8ESdBbgDaTBWF\nOrkzG4N/EXjH3lTh2pzr/m36GacQJtVjrT9tgpU5TKfaSLnTcZUNvDMZoa8X\n1CK9JGsXHz48/lRaB+5BpgChWP/IImp9j0kNYAemLqTIDBWqIbhjxAzZEfck\n9xyJYtj+wgDHwn5xigLhOFrPXugoThcw8YuDz94JXmi0tqrDgdJSh2QeXJc7\n8xer1XwL8sqaZXvqU4zjq3KcWoz5WwCbFnIV1iPAV2FfyPA7g5fKOhgldv5e\noW7/TB8o2VZmhCoEXDZRrnBu87chWn6TS0lNGGYGYi9ylgMM2eJePb4pLuPn\nxJr8\r\n=cqoc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFfM6b7BboBcQbJgNV9RIZhLdyyXz+UhjFubX2KFo+1oAiBTyQ8Hp2geN2GNDceYUgV6NeD/n0WZHpZpeHunyS63jg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.4-rc.2_1630940531209_0.9229450238855086"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.4-rc.4":{"name":"ipfs-grpc-client","version":"0.6.4-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.2-rc.4+84c772ce","ipfs-core-utils":"^0.10.4-rc.4+84c772ce","ipfs-grpc-protocol":"^0.4.1-rc.27+84c772ce","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"84c772cecffaf4deaf967c0c4e9d49c3dda73237","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.4-rc.4","_nodeVersion":"16.9.0","_npmVersion":"lerna/4.0.0/node@v16.9.0+x64 (linux)","dist":{"integrity":"sha512-3hDqAF225g2NDF1K1lHB1C4ELIn4TeyIKjUnxguNlLH7uqE4QolYG0Y/zSnx5O68XBM6J1hWYvmObiMMP1g4og==","shasum":"e9f88a01d5a5103a3ba72f32cd6523ee3cee775c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.4-rc.4.tgz","fileCount":57,"unpackedSize":208980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhN5t3CRA9TVsSAnZWagAA9PsP/RxGvmuxrj49GL8GMQOk\nssLDM05fFHd9X2hyUDzckajjhxGZ+14HmZsCF/yyBiy+g0FRAd+6p4VDbQjJ\nk1rsTJEFlhqvuoW/1NEUGxtxKO0WoiBBm45Q8RO80QjhWGMNB7YT7BLbiSqv\n8W3X7WKgLHXtsG3NDQoJjawdUT57gdi0bW8pJN6Fm0cJvz/1tgrlxNOhG/f6\nlfq50wgH7WHIZiDXhMMAlWoeONnh2kgUgjNqWxzi2zMvPsVh26rMaGj5z2L/\n8tmQ4QJO6Wj2fhTcGP0gjnzoXkm4YOSd9e2UFYrmmfGkwOnPe05hGDInI26h\nX7DEma/xb8Xlm+YdwVuJkBFmhY4HxYyJ6o4mUucA+OwD9SsfzDj+Zwp4hlRp\nKMnwRJu22F4vn+YiOZtunkxc1nITa1AdP7JrAyi5N0citYBVqyX8u2e0ijo/\nd0L7LeGy28CZWpvlOJSAVOWFdJ1eP3Mt93neM2IHPkxS96KV+HvQDqUk6eG+\nen0S4qqFTdPteW882QEmMqX/4PAWI7ZLlaITHwcMYPF+dVjOsSLvaiP3FmUB\nMNpYkV5/2twtl1yJaSP5l49lYsc9ahKt/oU2oX317wkzaNmFh8a/Z8Rrcaaw\nL1OUQ3LDxXo2sjmk9R3pGX+GXgumWc4weeeOtXqtyGDt+8Yjg4mJB0OZN5pX\nbF1s\r\n=/0Cg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBIKiRDDUKH5FvbZkLGtReV/gjw1ootJFL+yCa7Cu348AiEAz/Dma21zhOa7RdbsP7WSh/9cnkvQAu55Ph/DAc4wsy0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.4-rc.4_1631034231589_0.7079466082357915"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.4-rc.5":{"name":"ipfs-grpc-client","version":"0.6.4-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.2-rc.5+b072ef16","ipfs-core-utils":"^0.10.4-rc.5+b072ef16","ipfs-grpc-protocol":"^0.4.1-rc.28+b072ef16","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"b072ef1635759a3d64e02afd7a6d853a94cc06a5","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.4-rc.5","_nodeVersion":"16.9.0","_npmVersion":"lerna/4.0.0/node@v16.9.0+x64 (linux)","dist":{"integrity":"sha512-4v0k7FZNK5yqTq+WqED/2H+BfkSAObqyJFsNoH/blEVTdyEKB9BOPUsxE40sS6HgJt6v6lzgwn2chfgtWarYcg==","shasum":"e8ca46cba322af945c3f4ca9521811362aa9644b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.4-rc.5.tgz","fileCount":57,"unpackedSize":208980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOINpCRA9TVsSAnZWagAAE9YP/18nAyqqmzZTjhIwsOVB\n+Te1Ovxy2H8KX7c+6Ttx4FDP4J+wMlNYY1ktkIjSI1uv9DAvWYv4uyFavO3I\nuZzUJh7wzXzK4VoIW3gMshb9AAwDrtThIXZFwEj30ZHaBxT+fn5NPaVEZFx7\nRL0NaWlPtSZ3QvNxEITI9RRNIXmGTcMYf02QFpmLk3leoUkS2hHPXrW2iIqf\nRZr3NaNAhfd0vBIiTI7CD0vs1f3W5zkrPcK5lOYcJ3/fzUDWEfV26wQUNsvO\nLKza6qezGoqpOBr0FL1/rfFqzckeJjNrJtoLLuLOAyM6OPrGCciiFYL+kWMM\nRDtfW7zfx2lXs6FvNwvoZ/6AiO0gYC2jXKf/Qz7YbFIx53ab3WT1k9p2gjDj\nGmZCCfgqquq+n3/Vo+nnrFr621ikzSuVhkTD8MCWCFn76sJ8VRs1olYPmQAD\nKELOkiApJ+TvSjDVzd5A6BVIHOwwjwy8lmIXRU0mK5Z8ieZoqPVGjXREmjrx\nSHf4cxhma8ilV8B1//lefG1SS6gkxWvTDb9WIPLhN1jRFiZX1Gk4LDSXmR1H\nj2mehxANgjCVduktn+sQOaGPhNt1ifw0DCpQLRWHFrKBQNjTuVNWksB8G694\n6hyOR/U9bb4iHuOnT8+TIFLCiT0ELdY8ldt10JJMDjr3nKvqE0syLK0ZSuJW\nqRgU\r\n=w0/Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9QiLry/nQFFMJQCErVjOfxp32dDezpKYXmCmYL/tRfgIgXCJXGmNIsXZxYOWD0AqW+sGzNuWxFiK+fezvYOsI2WQ="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.4-rc.5_1631093609143_0.4035953160505852"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.4-rc.8":{"name":"ipfs-grpc-client","version":"0.6.4-rc.8","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","lint":"aegir ts -p check && aegir lint","coverage":"npx nyc -r html npm run test:node -- --bail","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.2-rc.8+3a8f1fb7","ipfs-core-utils":"^0.10.4-rc.8+3a8f1fb7","ipfs-grpc-protocol":"^0.4.1-rc.31+3a8f1fb7","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"3a8f1fb75cd49c882d013ebc1ff600a9815f997c","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.4-rc.8","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-sDENrVAJoLL3VnIWhzbMhvmDKtuvCZKzw+dsp2P8aHUHjm3GaYd5+WM3pF6D43APktK+H9SXqajgrvz4sa+p4w==","shasum":"eec33b547d1ab5a3d8f1f81087afe968faf07d47","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.4-rc.8.tgz","fileCount":57,"unpackedSize":209091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQKZFCRA9TVsSAnZWagAAM+8QAIvqv5CJed5asuEy1KYW\nv4ytXLCz/zM68/tf9H69WVcedalRDu6owEkatQB+BqDQqtYTPLsB7MkcPR6+\nAGKgIrYpO0wioe5Dp1AL0V0j7UCLhmFlUP8MjPeOItZlf+5lMREDYopYf/vp\nGSapmbCwAWz807DNHvpWuPQforTVRs/xf6iyxtViK0ECAww9HVOf9mNZo6Hy\nYYJgL+/AqTPVOZ1UxeBBcUW8y+tEnwzD0cXsHOgrhH5vKKGHZkuEP4ziaoC9\nM5EcBEVpDru3pVIJssG14Pal5z8wDPg4S9vVb+2Z6Wh3Lt/ZRhye3/18yS72\noJTAVpKBwjaykfWNrvYZSAgCHMdbtANBREiT47PZzWUJqYX64DHgj8IQBThh\n85ommuQoaaUwqxCylKw57WKNGXCn1g6DpaZOtrn/OoftQnmFGhIAa8u/j4sB\ntKnO28RaGxRLEYzLw+dfOGVT6Eu+9KXh6CjvVOg8m/0NPXAkQiwXQ507z+dt\nCyw3VcBwYUuwb3w7xAo9G9tFBs2ybaDbecs+BD4EVg417KiUvsUq7WDOzkWu\nIXkXi1vEpWsoUk2jzCQtgrEcEB3tXaFIWeuFuu4Y8eXl1QC4Qe7gnQFgy4lY\nombAr5PqzzbKhp7aehEz6F5Mijqw8ETwtIquy6R6FY9yRB+Yy3t5izWxlfh3\n6TSA\r\n=kiaM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICjfjorcBCBPKOsR9VcGrYkuJMdp4TPT5Av79x4/Z4GNAiEA8GOlg9KkxPXz3sHJw+dMWCCkC8qZtyxcGk+vVCq2/Og="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.4-rc.8_1631626821439_0.916495690088803"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.4-rc.11":{"name":"ipfs-grpc-client","version":"0.6.4-rc.11","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.2-rc.11+d4b4fd24","ipfs-core-utils":"^0.10.4-rc.11+d4b4fd24","ipfs-grpc-protocol":"^0.4.1-rc.34+d4b4fd24","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"d4b4fd24ccb37ba7bf7d587308929bc4843398ba","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.4-rc.11","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-YSiPKUWwdAKT0Wn/L9PXIZLnMHfUb++GRz+SZmnFsGO0lcfWdALQUDzY/WBtltu04NUPZ1H5cHx2Z1iWesxUgA==","shasum":"48c7a6eebd6752944376a5a688e0486320bbee0b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.4-rc.11.tgz","fileCount":57,"unpackedSize":209237,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFMXQZtY4SR3XVlIwGhe+LlBLyschKdkIxESBKmfB6UQIhAJ6SEj3iti16Y5WWlGXujyybzh36oYcie9ZYBI5T87rp"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.4-rc.11_1631883053844_0.4509619620630727"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.4":{"name":"ipfs-grpc-client","version":"0.6.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.2","ipfs-core-utils":"^0.10.4","ipfs-grpc-protocol":"^0.4.1","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"88c9921362ea5d71f7a3af67d30765c175783b5a","_id":"ipfs-grpc-client@0.6.4","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-9Pkrvi35whAeTEGVe1XgLcUl9l/2FDtKCPL7qQJkGUKosl8NIdeLArc92VquJpNQfTdO0lwF4XjXpA+eyR0OfA==","shasum":"b0c8493f44fa1a3835702949c10237611ac688c3","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.4.tgz","fileCount":57,"unpackedSize":209177,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWqQPE/kmUUUBVh/1NLXsjMxc4PA/IomowjwKR4Ci/0AIgenO8pIhJhN3dGXucQerFujYAzjOJwAxLxyrckDj79oo="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.4_1631885047654_0.004940019150976305"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.5-rc.0":{"name":"ipfs-grpc-client","version":"0.6.5-rc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.3-rc.0+88c99213","ipfs-core-utils":"^0.10.5-rc.0+88c99213","ipfs-grpc-protocol":"^0.4.2-rc.0+88c99213","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"88c9921362ea5d71f7a3af67d30765c175783b5a","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.5-rc.0","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-5g3sJN05mTydYoBLfMjvT2G0R7G6RqlcERDOWmG7vsr36KIb8KlwG9DDPv87EIFydTYNPnjD6q3VZfQeHWqNTw==","shasum":"f00ffdd294bc89acdcb89841db6e7824a2b51ef4","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.5-rc.0.tgz","fileCount":57,"unpackedSize":209233,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEeNkIxVowxAKq/UPCcUOnWD0r0eM9kEjW0aB1ENRjjLAiB45rIh7lOB3NKiJgqyJBJyx2oJ1nlOTlEmstz29JQW+Q=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.5-rc.0_1631885415502_0.41065308324524996"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.0":{"name":"ipfs-grpc-client","version":"0.6.6-rc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.0+a49a89dc","ipfs-core-utils":"^0.10.6-rc.0+a49a89dc","ipfs-grpc-protocol":"^0.4.2-rc.1+a49a89dc","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"a49a89dca7d9b81d390af0833bcee2133959d1de","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.0","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-J1tcEcs1fAu89nqc7MD5mVZys/omN8pgiITZa4ks/0KBgjKjcMWrsm4lzN70jjwcFdMQ8OBVuPwTOwhiXp+fjg==","shasum":"8886878d1d20bcaa98b1eca4f06d2694421c4297","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.0.tgz","fileCount":57,"unpackedSize":209233,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYmc3j7Hgmqf2P+IlOo+iDSGrBYrnSPFsYc3JZp99FVQIgSfZB+hZxFHDDo+1qYsE4a6LzZdMZERz57qnPD4SQYwk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.0_1631895933707_0.46859016634032247"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.5":{"name":"ipfs-grpc-client","version":"0.6.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.3","ipfs-core-utils":"^0.10.5","ipfs-grpc-protocol":"^0.4.1","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"b5488cb3ef5ab7ea24b8b2275ffa8cfa4b7b7ed1","_id":"ipfs-grpc-client@0.6.5","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-75rkyDiLmXHZQDGYyuhc0IQ1M6yhu4+iGk592qR14SAmyrTShA6ysYr5XVb9KETyDqqTTNF4onYc6P/OE4o/0A==","shasum":"d3aff8230d8f6fb7c3ca147739d38eb30f48f12c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.5.tgz","fileCount":57,"unpackedSize":209177,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdQuiQiHwvs3FzDEbz0+pK3MozFngD8IWHB0eX2QYFWAIhANaNBniTllDFJR4vm34D+3NTKp0jGqj66vQ09UaR/ZKN"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.5_1631896566983_0.8333366226111252"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.1":{"name":"ipfs-grpc-client","version":"0.6.6-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"src/index.js","types":"dist/src/index.d.ts","browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir test -t electron-main","test:electron-renderer":"aegir test -t electron-renderer","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.1+4126a5a3","ipfs-core-utils":"^0.10.6-rc.1+4126a5a3","ipfs-grpc-protocol":"^0.4.2-rc.3+4126a5a3","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.0.3","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"eslintConfig":{"extends":"ipfs"},"gitHead":"4126a5a38bd7b42e96171b67e9cbcbf4efb94476","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nconst { create } = require('ipfs-gprc-client')\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.1","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-an7F/sv8FnMEKuh1s7spTRA/K7owaTnsS6b0O4UF7vsyGRQvCfzgtWV64BN+Eh1OBkO5SzMpDcFcZRB5Yvn3Rg==","shasum":"a36db7f82e59d4f200c32b1a8358e2b98ec34cb2","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.1.tgz","fileCount":57,"unpackedSize":209242,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChzI3/2O7dQfsGowHQCk9YQRZMJwWXyOTIlJGdOkJoKQIhALNOI1PMgXsBMxxHv+tYXrsXFlmJfaQbeTVuDAmzG6CB"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.1_1632240648218_0.20476518685017542"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.12":{"name":"ipfs-grpc-client","version":"0.6.6-rc.12","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.12+98e3c7213","ipfs-core-utils":"^0.10.6-rc.12+98e3c7213","ipfs-grpc-protocol":"^0.4.2-rc.14+98e3c7213","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"98e3c72136abd56bb6e3a8ee1421f7dcc8c8533c","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.12","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-X/7/3LLYi/tehU1wPyA+vjeXqB00GMAKCTLQYyo0GWJntTGOPC8FtSn8jo2xKbcynwrtf4zQH23gUTRffAGgNQ==","shasum":"52925b634e3fce56532fd376038ce0c17c38bf9c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.12.tgz","fileCount":75,"unpackedSize":218200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBvbsdTbo/wAwAVv9oe/84/a8Vp+togP1WYb87Wh7W2SAiAtjErU0B9YwVU9ls1jkhm44rGswhDkkxAQwa77gxfbVA=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.12_1632377781190_0.6887411493015843"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.13":{"name":"ipfs-grpc-client","version":"0.6.6-rc.13","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.13+1d568430","ipfs-core-utils":"^0.10.6-rc.13+1d568430","ipfs-grpc-protocol":"^0.4.2-rc.15+1d568430","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"1d568430137af97b76555b015a18718c83f417f8","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.13","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-YqUu3mqUUgHLVROzCY7F4MERjTrc//XZETaJ2Bh5Go3YHfs3ZpkrxZfAKmvEE3OOxLnKbfeAwDmkJPpavHLmtQ==","shasum":"2b0572fd4df3a064a2426efb1d6683779a3c8200","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.13.tgz","fileCount":75,"unpackedSize":218094,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4ZB5FG+0Lx/3O9Ap89zeMjNoe06RTQ1OyErGz96oW+AiEA4myP3k3JcQnrMCURqHuV/sXjOzciqID7ulOPGs6gB4A="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.13_1632378394098_0.5978927525441793"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.14":{"name":"ipfs-grpc-client","version":"0.6.6-rc.14","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.14+498d9b0f","ipfs-core-utils":"^0.10.6-rc.14+498d9b0f","ipfs-grpc-protocol":"^0.4.2-rc.16+498d9b0f","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"498d9b0f3c5325af2d2f93ce1538c65f7c1eb2dd","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.14","_nodeVersion":"16.9.1","_npmVersion":"lerna/4.0.0/node@v16.9.1+x64 (linux)","dist":{"integrity":"sha512-a79vRTHuCtZizWrpCtT+kbaZIWyGzdYu9bC2JYvnN/VTyTkkmih8hjKvEEpcFSzowXf1aRda75YimBpqvNy2MQ==","shasum":"7d825e7ef70556dc5446626a78a034aeafb814c8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.14.tgz","fileCount":75,"unpackedSize":218094,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzkoPx9ECfJdllcunqHvYaiLX4MmoUw8ttNDqKXErxxAIgGjyYZCZ8LP4uERGtQZlLYLeLV9EQzMuQpDMD/t7s2hM="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.14_1632394074347_0.48436086327796946"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.15":{"name":"ipfs-grpc-client","version":"0.6.6-rc.15","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.15+5de1b13b","ipfs-core-utils":"^0.10.6-rc.15+5de1b13b","ipfs-grpc-protocol":"^0.4.2-rc.17+5de1b13b","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5de1b13bb685405ae081a824dd76e34228724451","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.15","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-MO0FVe/YUfhBagaMMbtQWgjIKc2TBrONCn2vyw7kimkSuT4EkELzf+cO3yaxwTUHQetXTGWviG046L2ZFy1mXA==","shasum":"9addde3ac7c9fc1a1261db453cfbc1fc77ecfbda","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.15.tgz","fileCount":75,"unpackedSize":218094,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGbiSZXqxpr4KybO/Oed9lW7fecKMbe299GBx5RRBK6vAiEA07v2DDtMgZwtHNdkeh9K55OzQXLSSHqwvluOXVRBjHk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.15_1632401811420_0.2620391493721832"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.16":{"name":"ipfs-grpc-client","version":"0.6.6-rc.16","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.16+be4a5428","ipfs-core-utils":"^0.10.6-rc.16+be4a5428","ipfs-grpc-protocol":"^0.4.2-rc.18+be4a5428","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"be4a5428ebc4b05a2edd9a91bf9df6416c1a8c2b","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.16","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-pM07BTaRt1JNdESTS3ak1nNf68+OTO2hyZvK+efRcWxonfSQzJqAsQ5VwhDU4HoDmpMcKHnathaO1mz6s0lfuQ==","shasum":"596e8767ed4a06be2faa9abc374884310022077c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.16.tgz","fileCount":75,"unpackedSize":218094,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFfh4rOMm4bqs2XqXTHvwoyTpauIyF4XMywVpAx2V+X8AiBZByuc2fNKjoLO8lT0cUEX7NzjP6fJCSBtqo4XgKIufA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.16_1632421993223_0.6534834553876843"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.17":{"name":"ipfs-grpc-client","version":"0.6.6-rc.17","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.17+b0f367d6","ipfs-core-utils":"^0.10.6-rc.17+b0f367d6","ipfs-grpc-protocol":"^0.4.2-rc.19+b0f367d6","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"b0f367d666aceb4ea8bdd532a9d8c3501f8cc78d","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.17","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-eFM/EKs/2vTxukPwDVnZtYJTVtrnmG2e7sPP+hFjSSNxlHtN2DbpbMy1YHyn7u7jabXKfFvEXGhqYY56ab0wMA==","shasum":"ce393886572d9e035c77f431cdd46b1cbf89163a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.17.tgz","fileCount":75,"unpackedSize":218219,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/A4e6dNXybfuQQSG4YKZ6KX9yVmmfZbAuqjfV6oEe3AiB1iVIL1Gmoy+ExYMENOe59EFR/DeJi4OiQUhvV2JLMHQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.17_1632482445722_0.45810723780886087"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.6.6-rc.18":{"name":"ipfs-grpc-client","version":"0.6.6-rc.18","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.7.4-rc.18+938a7d72","ipfs-core-utils":"^0.10.6-rc.18+938a7d72","ipfs-grpc-protocol":"^0.4.2-rc.20+938a7d72","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"938a7d72896bf5e5afb2ce6d472aec4fa4929a3d","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.6.6-rc.18","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-fHWP2dTeW05yEHM3QmxjgQCH+jTL3MmKUnErDZVDJcTmkYRsxPo2Y8j6nTgh5cyPYfC75n6fAyxNS1NFN6ADeg==","shasum":"72e6e42b4cafd38de832eb1bb1e35765183c7f54","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.6.6-rc.18.tgz","fileCount":75,"unpackedSize":218219,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPMQjwi5GJ18pPfBhXimgt7A6jcVvsRvUrftX682TcbAiEA0v3fvjf2O/nBNduJNvnpiJi4Z/RPbqz+Hxil+7HOmTU="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.6.6-rc.18_1632487534792_0.9610001233982386"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.0":{"name":"ipfs-grpc-client","version":"0.7.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.0","ipfs-core-utils":"^0.11.0","ipfs-grpc-protocol":"^0.5.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"cbd3e948deb5a6489cd69d1705a0261860c2ea22","_id":"ipfs-grpc-client@0.7.0","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-G7lgQ+H6MFB6Cl5q5T1/fD9+znrP6roi+Q38m3lIBdfe7CsU4FbU/T4+6Qpw9fNhotGTIOR2mc3ywplLlAd4lg==","shasum":"82a301a54ab2ab28f527566115142ce81e1ebf4f","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.0.tgz","fileCount":75,"unpackedSize":218159,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDI0kV3Jb0C3LzQM3xr8h5pf6ivCzpbD8GZHcvn39xo9gIhAMj6BgtNQZZuKa43EW0VQI9WWBOnya1/eF8xOhyxngyd"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.0_1632487765051_0.46810835468122547"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1-rc.0":{"name":"ipfs-grpc-client","version":"0.7.1-rc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.1-rc.0+cbd3e948","ipfs-core-utils":"^0.11.1-rc.0+cbd3e948","ipfs-grpc-protocol":"^0.5.1-rc.0+cbd3e948","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"cbd3e948deb5a6489cd69d1705a0261860c2ea22","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.1-rc.0","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-FKPxAOeripnFulbLvl3T1imx3U/lZie0SCD66IWXvnOjeRu/sHh6TJfkaXXkDE7VHNKwffqCRv+atJY+7U1uhg==","shasum":"54cf671f0d880dc8d976c864129869afad72e56a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.1-rc.0.tgz","fileCount":75,"unpackedSize":218215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSn9JKwwYNbdSY3rCkqgVAMF7YY5Cdxe3aRRGqcQetzQIhAPftindBdFkL1VvosLiPZGSBv//nS0lgvQP3DW8Rrel6"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.1-rc.0_1632488018316_0.7554166893480743"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1-rc.1":{"name":"ipfs-grpc-client","version":"0.7.1-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.1-rc.1+a0e36f40","ipfs-core-utils":"^0.11.1-rc.1+a0e36f40","ipfs-grpc-protocol":"^0.5.1-rc.1+a0e36f40","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"a0e36f408135c963d4fe3a66ccbe94e60ae5d8c7","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.1-rc.1","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-H/zYskAvXDwo+Opv7xqPf5Xvdhkyo1ExvwkAu8o9axdZqb4Qk9LSenbYEJUSZr+1r+eErThvC85+nxgEz4O9Pg==","shasum":"c59ba4b1e3eb9836c36b9463e85ef5b1b96a94a5","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.1-rc.1.tgz","fileCount":75,"unpackedSize":218215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjYAL2rU0A34Vl2fVxEWUT6cK6a/kbh/JIv3HNdMaYvAiEArxL9hZ+wWvHaXoZBSxhFhFJSALDd00yvix7oiOrqLtA="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.1-rc.1_1632590773594_0.5271329761881272"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1-rc.2":{"name":"ipfs-grpc-client","version":"0.7.1-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.1-rc.2+78060914","ipfs-core-utils":"^0.11.1-rc.2+78060914","ipfs-grpc-protocol":"^0.5.1-rc.2+78060914","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"78060914410f54f443aad4c5c0de39f899ec6f40","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.1-rc.2","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-cn8P+HJah3FMPMT7wg2by19HDmE7lAmkjox1tL1cfJlLOk6bXYaxe0Z0ZFz0A5Pg9Tpae9NV4Z0+ZRCWrCK3BA==","shasum":"623759be6b0fa90eb045e40a2379e7ec930a4e1b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.1-rc.2.tgz","fileCount":75,"unpackedSize":218215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGESyj8SpZa2mTXJYA5Th1k8TQx3XbH0icdsLtUT/2WXAiEA2iidPTK+PqGuLDrySXD2UxpCKiKZCskMsJNgppA+Vpc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.1-rc.2_1632593469694_0.2799423934509624"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1-rc.3":{"name":"ipfs-grpc-client","version":"0.7.1-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.1-rc.3+7cb98616","ipfs-core-utils":"^0.11.1-rc.3+7cb98616","ipfs-grpc-protocol":"^0.5.1-rc.3+7cb98616","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.0","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"7cb986167d2e51ab0ce94104bac92ec63c0a7cff","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.1-rc.3","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-JLxH7XzxJBY6K7kJvaMrigb3EZtauB8vN6xEAGJbHMRa68oFfbu8twVZFQZbqzSVV1ZKpw9iAEibzJ2PScPQfw==","shasum":"b4393849981878a98d2f13d895586a762667c016","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.1-rc.3.tgz","fileCount":75,"unpackedSize":218215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA/2TjW/dwiCmwSpjr5ulvnyfAskp/A26emJiqVTWMa7AiAlmT2a7m5SYxAo2kX2NNnLJbiCWTNWQNNrFcwI+8zhkg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.1-rc.3_1632760649276_0.24005614994540858"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1-rc.5":{"name":"ipfs-grpc-client","version":"0.7.1-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.1-rc.5+4dd8acf4","ipfs-core-utils":"^0.11.1-rc.5+4dd8acf4","ipfs-grpc-protocol":"^0.5.1-rc.5+4dd8acf4","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"4dd8acf4d7df0ece0afa764d44dbdfbf788807e2","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.1-rc.5","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-o7y6XMUjTLju70xagrJTCH+pIzvMGWcWvIRvTreoJZnbBXEhrbg7FP64sffzGs91tf0EjAUklueIzbgeLE9BEw==","shasum":"ef3d9d1406c19fa2ab28e307fc44c496ebac3cae","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.1-rc.5.tgz","fileCount":75,"unpackedSize":218215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrhN6Il4mks76wOtxZeLQublaeW6Vde32Ih/GOSbR4+QIhAKCHiv8HTbt/H/CjaHyanAVWHu87k3t3Lzr5mZfDlk7Y"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.1-rc.5_1632830414687_0.04006463927811166"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.1":{"name":"ipfs-grpc-client","version":"0.7.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.1","ipfs-core-utils":"^0.11.1","ipfs-grpc-protocol":"^0.5.1","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5ddd0c555cc6577ee15667f4ef4e7f3a3b17d04c","_id":"ipfs-grpc-client@0.7.1","_nodeVersion":"16.8.0","_npmVersion":"lerna/4.0.0/node@v16.8.0+x64 (darwin)","dist":{"integrity":"sha512-pJJGaSsoLUcR8lTqbvjXizzzSDpknNmNo41k5EWSmbeuP9+0cE5T90IAOjWbbVBCrhlpntYtdqXMJHVYBz055Q==","shasum":"29474b2f9ed79c182700410b59f988889e78f680","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.1.tgz","fileCount":75,"unpackedSize":218261,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/IVZ4IwB4eYNkyKR8mxG6yzXY7+RxRrWzOWwyNkqjYwIhAIaN4vsM29BnTOh67APjar/HUw8R2SfDuEGAvffCoOmA"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.1_1632830592041_0.926777829292559"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.0":{"name":"ipfs-grpc-client","version":"0.7.2-rc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.2-rc.0+5ddd0c55","ipfs-core-utils":"^0.11.2-rc.0+5ddd0c55","ipfs-grpc-protocol":"^0.5.2-rc.0+5ddd0c55","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"5ddd0c555cc6577ee15667f4ef4e7f3a3b17d04c","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.2-rc.0","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-QM9Dchzn72K6ilNhhavNml0XXMQoLqEGd6ZhF9eC69MasqwwrnYSwO9uyR6xctqr5jc/XkoV9eC3qyMD+ZfXiQ==","shasum":"fe9b8ba8bbdf50096c33acee82d2bba78027117f","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.2-rc.0.tgz","fileCount":75,"unpackedSize":218215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVR07mJ/IbeAbp/TpGoE8Ex902bIWMtmBNyHB57S7znAIgJwcWlk3DALdpxEMqOW4AJwvJcnnBjMlSLS0CdnEVX6s="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.2-rc.0_1632830861299_0.9557143584359264"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.1":{"name":"ipfs-grpc-client","version":"0.7.2-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.2-rc.1+3ce2f769","ipfs-core-utils":"^0.11.2-rc.1+3ce2f769","ipfs-grpc-protocol":"^0.5.2-rc.1+3ce2f769","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"3ce2f7693b59ad4176e245c4c7e75a91dd1bf94f","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.2-rc.1","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-jX3AR9rEIkcGACur5m+Uzqyfl69/GwH5kIkLWMuFlj90tZoh0vKhbELtYeb5ATo/AWBZdRA6RkH+Lfb0ZURSGw==","shasum":"c3ce0276f3b52e79763009177149325caacba121","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.2-rc.1.tgz","fileCount":75,"unpackedSize":218459,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAb/v893f0OVL0Qc+BirH3HiFc79jqsaJP7lxv8f3N6AIhAMnND0sYJ/WTog8hP9q0TUpWCIKpZ2IMk+VCgE5F60r0"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.2-rc.1_1633016933164_0.6131934582346941"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.2":{"name":"ipfs-grpc-client","version":"0.7.2-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.2-rc.2+b09a18cd","ipfs-core-utils":"^0.11.2-rc.2+b09a18cd","ipfs-grpc-protocol":"^0.5.2-rc.2+b09a18cd","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"b09a18cd98883662353d116a8ff25a3ddaa48fc2","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.2-rc.2","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-epniAXHsxfkmutggQYeA0pHd2SqLG0uAddLZHYIrf88E1pe6GP+IWS/XRR5DlEc/fuIUvZV/JtrnBRAJ/gIwuA==","shasum":"c5c3d2149dac350ae7db0e80b6b124089115ff1d","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.2-rc.2.tgz","fileCount":75,"unpackedSize":218459,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAATg0Yd9Kktw9OiNEoj3mC6bhC2Mmg3slLata8bsPRwIgYa7DZXtiHe++UObZTjKfEJ8hvkgE97yblpdIh7zDulk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.2-rc.2_1633023552285_0.6975376168196592"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.3":{"name":"ipfs-grpc-client","version":"0.7.2-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.2-rc.3+bb0dd96b","ipfs-core-utils":"^0.11.2-rc.3+bb0dd96b","ipfs-grpc-protocol":"^0.5.2-rc.3+bb0dd96b","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"bb0dd96be3e570f5a43a4f31f43d1c97e8322605","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.2-rc.3","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-+KqDbk4wkCyQ1xRCQ3NS6IdNTXR9drK+kyZ8kjSqqzjog9MSCGGvO1YW3m5AK4dTvD3CadJZtcmZ40IpV/ZmFQ==","shasum":"b6a5135e5e88dc2a73c83f028826dbc05d1daf06","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.2-rc.3.tgz","fileCount":75,"unpackedSize":218459,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEQumWtngKDyiG44a/cWXPChvTBoQGBBmxsuSdJnoaZwIgZd+wvbWW+gOH9oH7+spcpSl0lEjrrWbkreNWO3OwqyI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.2-rc.3_1633179495241_0.8891054893870176"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.4":{"name":"ipfs-grpc-client","version":"0.7.2-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.2-rc.4+09c7bf7b","ipfs-core-utils":"^0.11.2-rc.4+09c7bf7b","ipfs-grpc-protocol":"^0.5.2-rc.4+09c7bf7b","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"09c7bf7b63620f84d50c8a3983a5d4c28410cd82","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.2-rc.4","_nodeVersion":"16.10.0","_npmVersion":"lerna/4.0.0/node@v16.10.0+x64 (linux)","dist":{"integrity":"sha512-A0uKdj5UbYaFIEsSA7RzIFvJbYqS9C8Z9cVu1SnY0KVNezcNUOXCwPhJbPP/uraVssBfXswdCg4UxvYaz3zMxw==","shasum":"5c5025caa0b54615b24eaa487d29573e84295165","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.2-rc.4.tgz","fileCount":75,"unpackedSize":218459,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoY5tz++n3P+TWUTpwecOxwFFcj7F4r3DY1Cvw3YLw8gIhAMUiw54ahSMfbGwHqsvesMJ9X7bVLwVKKcsSzooDNLm3"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.2-rc.4_1633703582214_0.6624721291230302"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.5":{"name":"ipfs-grpc-client","version":"0.7.2-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.2-rc.5+15184bf1","ipfs-core-utils":"^0.11.2-rc.5+15184bf1","ipfs-grpc-protocol":"^0.5.2-rc.5+15184bf1","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"15184bf1838956a44c079660a4d82c24166407db","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.2-rc.5","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-bZMytEMAHbz5y6i7EajrroMB5AekPaAgeKizoXM/wMDRm6qx5TdOJU8oXwYFtr9Qn3lIqbgWHMGfHTrTcZJY/w==","shasum":"f2349db884b5647b9e1969a55dec4fec3919319b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.2-rc.5.tgz","fileCount":75,"unpackedSize":218459,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH6riZUxEbJb/AooOeWjbcAY5s0gafvWj7HQAEfViPsKAiEA8k0RYsh+9zNR6fbQ/qkzvsW5CS2WE2z37hZawW9O0Gg="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.2-rc.5_1636010778753_0.7461520603038159"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.7.2-rc.6":{"name":"ipfs-grpc-client","version":"0.7.2-rc.6","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.2-rc.6+8a3ed195","ipfs-core-utils":"^0.11.2-rc.6+8a3ed195","ipfs-grpc-protocol":"^0.5.2-rc.6+8a3ed195","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"8a3ed19575beaafe5dfd3bce310a548950c148d0","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.7.2-rc.6","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-DU0t9lJILnICjs6OQLY+IXsU6b+aMJ3Sqm/5+pD0ZZt+N6iKJCNhf+rMVlNTDhiuicefrV8keWFAJyrmcLEPZA==","shasum":"b3eae62866bd370d00e3ede372486df569e9fe29","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.7.2-rc.6.tgz","fileCount":75,"unpackedSize":218459,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6qMZVskwT+QQdO/qyasjsf+18TCGxCOE/Ejq/YRX1aQIhAKwed3vo6LxhUWiO0OPpejUexPbuz4YiEdz2cxipfl/8"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.7.2-rc.6_1636716673857_0.7253702809920637"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.0":{"name":"ipfs-grpc-client","version":"0.8.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.2","ipfs-core-utils":"^0.12.0","ipfs-grpc-protocol":"^0.5.2","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"568aeadd8f308cc230de06a956c1a9e6102094b6","_id":"ipfs-grpc-client@0.8.0","_nodeVersion":"16.11.1","_npmVersion":"lerna/4.0.0/node@v16.11.1+x64 (darwin)","dist":{"integrity":"sha512-FoiOslwDFMvregYsaE348LS3DZ5lQjMbtHMzIDPOaqD4z7XwRc4KblaexqkRnCoafEDkBJsQdrzqG4UD1VWi9w==","shasum":"5b0bf1d580698fff0f63025fa075bb9d36c6427b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.0.tgz","fileCount":75,"unpackedSize":218403,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZXl3MMqFEvyaj8UKfbR4Fv7EYIQJ6BMJGZaFn1Yr2lAIge9tLyAbjnrK+TZ03jKblcid6ydkAaz0FTOM6FWzIPhs="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.0_1636718076484_0.22775461958279175"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.0":{"name":"ipfs-grpc-client","version":"0.8.1-rc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.3-rc.0+568aeadd","ipfs-core-utils":"^0.12.1-rc.0+568aeadd","ipfs-grpc-protocol":"^0.5.3-rc.0+568aeadd","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"568aeadd8f308cc230de06a956c1a9e6102094b6","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.1-rc.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-txN1vfczzm9pzwffzGGNOZjIARiQnLBPMg5J67/gjqzCJ4yqCRiwG8ZfOwOWZ94Cnb+Qt4inI8OVCYGY58OHOw==","shasum":"eae9a32c87bd02d907fc013ba004a5c444f21ab8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.1-rc.0.tgz","fileCount":75,"unpackedSize":218459,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBsnVyMxWL5ULj//8Xmy6Ien1f1l7SRLuAodtEqeJfYmAiBBxY9xNH7TUtmZyd9y+j8KmhEnxVFd1N8XBxZ8RmuT7w=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.1-rc.0_1636718167940_0.6632725396173353"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1-rc.1":{"name":"ipfs-grpc-client","version":"0.8.1-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.3-rc.1+f419553b","ipfs-core-utils":"^0.12.1-rc.1+f419553b","ipfs-grpc-protocol":"^0.5.3-rc.1+f419553b","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"f419553b9dccc0a1172f399c41b766a754a3ac56","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.1-rc.1","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-G2ZjFV/w681jgnyXt23EdQTrndZNvPU36XU2gjzzxkbRV3aWoLjmF5PvbChcclHc7WtXMnLJst9aW9ARACkqyg==","shasum":"9e1c13e0fc9055017545fdd17eb21c3db04af746","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.1-rc.1.tgz","fileCount":75,"unpackedSize":218459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl8XVCRA9TVsSAnZWagAAUVUP/0LPaxnCgN1I87J8EexY\nQCl7SfUAcJOJSgyNfRozKAFeITgJwIbzgAPWWzQn8fHLzG0rNQBgRkWHtUhY\nggvz/+GHY9DRMvxnfc8vZvMUZcGaK08wk3Ssa6jdIj3bzv3VzplC+qvT4X4l\n4GughJ0wJ4VVLfk46Sx2lybGgnpLyy4aXSWuDM+89wYLHst+tFkMhjhGOvHb\ndVu5PmDNxInCMOKNuJW8ThBm3Ek+SKNxqdKPCHECZOHhMCMzGTRZ+pli57Bw\n26GS6wtYDjH1D5oAnGOwmmOmOhA2TyN/2QZO06uaVD/p9XNXulAGNRc0FJAv\nPkMPwNN2fEqkyRxAMslHXzNDRUzyzVv6d7YInaeaGivDszXfE2nm+LFjEv/I\nl0OOgv39gDiGtDs6tQFQ/YKo0tqv5oQlXOzlyARoCvaDuDzkSO/Q9dn5A30P\nKvMifnaSEhN2ypf/6QxOl1Zw0FN4X88VsjbQoJtkiLcjtz+W4TgvI8LFhKHg\nGBNCEk4AV7Dl8hNhpJzcDKDs292KF8jM3yv4T+Q64L3LeDYaV3RHWiW6ZHPc\nDgkDjQm1EkTvuZvp/RvofQ5VmTk6TpSIcAt8diQuihdGjKr3E/8zz9Q38iap\ny27OY8SkOYvxnWe45n99ZevzGGt0uLAyOCzEYyK1YWZGo+mauhAZBOLAztlS\nIRcg\r\n=TXzJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1+wkBsFH06vM+mcZpzguYh4pTYwu8WiWMGJgFERHdKAiEAh1CY1boI98ResHJ5eCL9uQxFTlRO8mxdtMV3wC6r3Zc="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.1-rc.1_1637336532834_0.2690755195597514"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.1":{"name":"ipfs-grpc-client","version":"0.8.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.3","ipfs-core-utils":"^0.12.1","ipfs-grpc-protocol":"^0.5.3","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"fdc148b5c08c0be49eef77a18259d5baa895e3f9","_id":"ipfs-grpc-client@0.8.1","_nodeVersion":"16.11.1","_npmVersion":"lerna/4.0.0/node@v16.11.1+x64 (darwin)","dist":{"integrity":"sha512-/M3SaOiUgTiDsq+XuEWvDnyghrgdbEkGPTE5fo7JrresBL/H0s1CDY5nmDuPQp90o7ka09j2gCIXPQ35TSimxg==","shasum":"a88d99313593c858cb9673da1254c30445a81b11","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.1.tgz","fileCount":75,"unpackedSize":218403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl8bJCRA9TVsSAnZWagAAzvIP/0M+xtNpTu8ntgnAG/2Q\n/iB+8uBXe4d/TH/uHAQZcLTuyIWUX9lZBR6NoDHqedWoU9zyuPl1w5NlXjiu\nGn9seGzQlZkHRUXdEAwoWA09V4eUesWduCh3cnppTTwaabydHE76si+FgnpU\nK8GQ8zVRQ25tkA43fXgE5iM7OS1EtfrN484bVY10hP2zw9XUSsHHKWmiDudj\nMl/GRpvZOV1ITLIrJhRfFu8yANXMFfFC650MgZfSjB2u+CwEP/llXk1+0tAL\ncrs9AuqxFMrZIFW40vIB1gCCYML7IxoJiuYZlQFpPY5442ZIjyf7mKKGMiZf\ny9X6Eimo9r/aO5c5asiSVbTe0UTSdMXxtkDpX276JPjrqniiB+HCn+w9wgGS\n0HiVOUyJsdpkTih9VrgNWGKXT4Ecp8sYVxfWAm1QdUdLxgxTNrcgG0vGpi6r\nhY7xHICPZIVAjKkT9Pm5+uR4MUva3rSFDLTlnchaB2+kNNOfB5YSHKfaHu5p\nL7SNVA01e89P31kXp3u1cu8xBtjwSuz1xv2+L/DpJnnpFjtnREEBHGEmU5E5\nCRWlvdTyos6DIcCl8WU77IbaDlncQD25jHZHtuh9FCwjp71ywJkbL2eVsuln\nRjCqeNs100k85FC5CT1nimXOEH8tSZRwpN4Bhd+LzKAnN6N392w/Mw3+Wc1K\nlDiI\r\n=/etF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEqlOLiZy1csaKSAJHljBfyr1zOp9MtmlyiPF+8O6b6AIgALq1pEu/Ph5Nd/fBWCJjIXw1a8kvlhXYgDj6fR0qI0A="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.1_1637336777030_0.957388319349574"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.2-rc.0":{"name":"ipfs-grpc-client","version":"0.8.2-rc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.4-rc.0+fdc148b5","ipfs-core-utils":"^0.12.2-rc.0+fdc148b5","ipfs-grpc-protocol":"^0.5.4-rc.0+fdc148b5","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"fdc148b5c08c0be49eef77a18259d5baa895e3f9","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.2-rc.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-9NXjmz9BsjmIiqJ2kqqNJ6cEpaggqXQEsiO5TFk7UMtE5GCyGUlUJHyX0RpduB7KKQN29JbOm8KB/0bF2tLRIQ==","shasum":"f3e1b3101308cf846b9e7ca83110edde12339a0c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.2-rc.0.tgz","fileCount":75,"unpackedSize":218459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl8dRCRA9TVsSAnZWagAATv0QAI+f0idnQaluwMT+k4Np\n4p5VI49be6LmzD0OwzHpEUEbAS1yxc18CRKOqOlf5RFOUeUN5ItlnyO3yOG7\nLdf9aFw+QTJif2T/uw/EmVKZWxp7tysfiJevSczf0pCAOr11phKxsEPaeDxu\nbngDX+ICZGsaWYx8L/x6jisd0ZNLowm5jhszgvmaf3tJyQv6L8MbTizTSfwe\nzV8z5A4cs2yQ0bWNrDKO8M/M/utjWmI1fW2YMcmx+BpTNJWAe5oxCwZqOeNZ\nC7g87Ub3CgWqP04EyPoukKXJjVBAdwgtYC1C1xdZUGIOtamfGKUXKJ6I09/v\nqGgjSd0iKvjFYXk3ATnH2QffmZM85tJApIizAQV+iZM3Gt9Xdlv0nntLT+OQ\nAMPln83wNxjghk/QsFCmMUs2mWfHOC9D9bpfuRPcU3ggdun6W1e9uPWZ4vmZ\n2Dxphx+v8kYpfBvNeIFFkRslvYqn5xUdBR3tik1aj4ufkle1akXxjH2LPrsi\nctGtsNDUAnUFIqsDMfuCwa6369OONQQFhp/6fiv63HbQqlTsqJDLoZnysLVj\nOl1G2nRSre+YA+SnH5kctanBxZjC8d+2MsBhl7N80SUGcPpmV5TF6yV9YkNk\nBOJp3y0W1pO4Tx8n/lFnl1WiuQX+E0sBW6a3X/s5z20vRZchfNY0FmMZnpvU\nmVJ+\r\n=z4ir\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpRv7IB+xinl+aOP3SVGJ0g+9tDAYRKDOCBCklnELL4QIgMk4lfwtGleMmb1uLbOmMCTI/eAMdPffF6P1zQTHR5G0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.2-rc.0_1637336913469_0.3356579544628293"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.2-rc.1":{"name":"ipfs-grpc-client","version":"0.8.2-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.4-rc.1+041fc29d","ipfs-core-utils":"^0.12.2-rc.1+041fc29d","ipfs-grpc-protocol":"^0.5.4-rc.1+041fc29d","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"041fc29d151e8727ce9aaafd2c46a4cd34baa8ce","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.2-rc.1","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-gXBVB75+h7N8OLgaWrY8Ghf+mDJlpmTiypZOc9xvGtIoFQvmnLgDPXdOm4Pe2cdnrKDwljvYDaJ3tn4/NVm/Fg==","shasum":"5c980b548e25c600e8146c207e5220c909dbdf79","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.2-rc.1.tgz","fileCount":75,"unpackedSize":218459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl92XCRA9TVsSAnZWagAA1yMP/3aMq/augJAa6DyFeZ/r\nzzHpmImWMBybr7Z0G4mU3tcI/3rmnxWxcuDq7SUgqrFiv2lY8nqo8P2tfTjK\npMcV0ASCB3Z4VZxexEgRs2++BTt52eGQ80pDeQQlILH+1BgG450C192etQ0v\nTNx8/I5QFHPKP1XHC9YI2FV/yyW8UCx7j+LCRP6UcsgdxojtNdKjJ8cdUBFC\nT8YoA3UJpbdqfMsLtWf1R7jrqGz+A+M7y1sDYrvXOSBXoQ7MQLBZHxnt0HgU\nUtbe7Xyw3aHIHxXwyzv+A4RiK6sWDtIpn9nedUm+/jJ+5LUviJ6mQa9iYcXa\nI5DSylPq8i44+UTlQ+Q+2jOxUd5Krz1J/zcc/Ht6G5grSRkf6ZjUt40HkMKc\nUL8incG4nwt4rzWuqgMhJ6hgDqrNThSvgyEGTWI6V1K8+0CajSSaOrO5E2os\n7z3z66cShOmrYXUr8Q1NzbA64HmeTyHD/40fMoxr3/pyhhD4RZypzZXxlj0x\nx19WqnjpLt2OqNixkPlgRn5/n8/QZRlXSu6XVyLOFQvrA0cP7X/PMSRkkuXF\nrcQLw8zzyhXNs/77i4FseQT+RIf0s51ewThwFC/YUgRg9H/euE3uHoo+VUuH\noNpwflOlf+KmTLZLLkmUtgf1wSVtdUPqgzxLrbeX6bcU4ZJpUQNxqH0kOnEJ\nc9XG\r\n=Fz5+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0CNKnXLchNLEKmuYc5mdCtIgM1T0GqacDG4iTG5KawwIgBuYUAw/9HmT01DoLNqbSKsw8+TG9CzPl/aPlVWLkNjI="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.2-rc.1_1637342614759_0.8193169393320452"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.2-rc.2":{"name":"ipfs-grpc-client","version":"0.8.2-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.4-rc.2+70c67e27","ipfs-core-utils":"^0.12.2-rc.2+70c67e27","ipfs-grpc-protocol":"^0.5.4-rc.2+70c67e27","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^35.1.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"70c67e27d0b82c7650a2a0d7a646afdcd24e73c2","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.2-rc.2","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-FOlt61y66qH/OiXq74SKxN5yGoxQPIHRkGOYqURgOV+8MHs5HrP3vwqRrbduT6Uf06CG53eCVR83miKNJhxoOg==","shasum":"a2af8e3a5b1965e66b362d9c3fd7a53ab179b0b8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.2-rc.2.tgz","fileCount":75,"unpackedSize":218459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm8KTCRA9TVsSAnZWagAA3iIP/2sUzyZuVrKqZJmXIMKL\n1Tz9QEo/k/17sijAgnqdePT5tBNJgwVkEeArO9e1UUD/mpxNLF0LY6hhvmov\n62UbI8PPTFyXM+mD1nAQpxS0Mc0O39jGtyrXLuLtPyleh9jPm5HOwMyxFLe0\nWqBmfThTVOJUVxXbLkcaAypcccEez2Z84AOupjxTT183JhFVvHlds6yjwCkl\nBkYB0X17zbN2qxT6uMkwKY+qwPOXzxjhgaYmSQcrIJRg0Aa81rXnUEFANLli\nt8B8dadFfbj5MxqrudbUPye/IW0JQ42N1xLTfiJJX/hjH+RgMoYnIiXA0CDb\nZG33zGsWx2C1M9o/gXm0qUvjcjKHeT4Md2QS9WMmQWdWAFkD5v34FbAaNZml\nhqPVmBxnAa14QN8kLMisICE8DMwKbPGuNz0s3+ScXj46mwBL2+x694/w/l1Q\nQnwpex4XcsxLLvTl5+pZkPDuBjV+JSA8rVjl5k23HLNOXD1D9SX9o0ZWNAbP\nRuilbvbCmMybItu6JlG6IrgOTk/HiEXrr0FtYlCby6Zp2+5wGhpAKjtBEA6P\nJrCQ7WJF5oKBiTx2GbI2vnXxRIeze4unst4B16Q4dwiYfN3fAO1wg+pl9X1N\nWpYeJ/9vzG4orhwi3nbZi0iA2jgkG8NTx/ulSYuDPqGTzfF72ZttrFi1UjH2\nYC0J\r\n=gXCu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJoOqIskhhL9+e0+5IA6EhmZh7phSWG4nPX60Y54Ch/AiBk46+c6yMwXck0QpLfDJuqiPVPd83Po0Zp6fy+R1O45A=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.2-rc.2_1637597843826_0.28464991123000605"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.2-rc.3":{"name":"ipfs-grpc-client","version":"0.8.2-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.4-rc.3+484d2559","ipfs-core-utils":"^0.12.2-rc.3+484d2559","ipfs-grpc-protocol":"^0.5.4-rc.3+484d2559","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"484d2559cfe120f01eb9c5dc728d1f7cfbd89730","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.2-rc.3","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-uXJiiTZ7pjpO03gr4k0T7hbq5wvvWOLGiqOIV3g7GiwXZByy+SrzXK5LoUQbBuxqLK9uozdhPDGv0sG29sKznA==","shasum":"1404f1355d956456d711194ff478647325bf6ab5","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.2-rc.3.tgz","fileCount":75,"unpackedSize":218401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhngd1CRA9TVsSAnZWagAAPNEP/1t1SdacL5zZxFW7BrkR\npM9i7hWVRfxrGoiSaTixv9O2d96KhLPTCMk52Br8wDcWEwzsIr2ma75v9wUV\nYtBeE+EV0LO1zPAtcFPM4DLxBrWVFQwqGhaDYjHps+BVfUvJfaVrVmt1xBuO\nVM/pODSwk5PVSzEZ9znIG66Dgr9h6DL9otFhfOn9A+p1ptVGwAQtrgT/zM/p\nrFn43Lj/JNURJWJw+kix6DvICXp8PK2AKKu3hcQF1/v0V3HMGelkzFyxB5q7\n+SmEcVMZPNXCzRpxY3Dr78FonfH2Fm0HsKZOn0ykmof41GaNHL4krdDUFFix\n/0Dcbsn0L51szWtrHQHqrOQIypKPExfnnDDyUhmTzzYsgSV19miuvM1FA0Qb\ndXMvwq9cEquos8bUeP1B2vMxGWQHyuPQTMHe72UDTIwuHldScEH7C95bZBTv\nuz4RX2jk1oGYgG1tHgu+9slyDj/O8O9WY90kopLKN4DNK03Pcv/Ve1mT7RYe\n2SNGRv5x3iOVH8Vqsm2XQI8mSpmWBs1CIQXerub2CbHTfrzBB2RpyKFsZAMX\nUAfRgHwhUJYQDKA0LRm9hTZyFHwsl3ujx8Grhmf/3UxavnJ6tvZ1Br7ugfUx\n6r4EdIDOgs96s89T6jros6chap02kt1YPTkEUZNOOb0MP299ydIDjbTJQ9N8\n8zCo\r\n=LY/f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/RV4d82/8+t7gWXtHdsYn195LCUUF+trtSFL30HMAQwIhAPjZ+DvTGl0uUIE8/2Jyx3zRBfDQkZ1E3priJsH7F1vC"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.2-rc.3_1637746549201_0.10472115783046831"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.2":{"name":"ipfs-grpc-client","version":"0.8.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.4","ipfs-core-utils":"^0.12.2","ipfs-grpc-protocol":"^0.5.4","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"6178708aedf5ea86bf537862c08db49f5b8ea20b","_id":"ipfs-grpc-client@0.8.2","_nodeVersion":"16.11.1","_npmVersion":"lerna/4.0.0/node@v16.11.1+x64 (darwin)","dist":{"integrity":"sha512-1qvDLySBj6hrX5cP4XrSLYq1vskzcP87MxcPNbUq9JE5CWyq2MVaKjdjBgaVWWGDGl1HabeExl5hg5BXccYSzQ==","shasum":"8e20864874c439266499be210987bb9385246a61","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.2.tgz","fileCount":75,"unpackedSize":218345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhngf6CRA9TVsSAnZWagAAKRcQAJkWAHAZqhpqgu2LfbBa\ndMqYjGvZpt2ArA9aymdk6qpHe/Hp+KqeIRaA1D4pDOm+8WVOtfewN2XqzILT\nUe7zdUuihSpdKz1wguHA+2iYrR+9PWK3yGJWhrHQi8YpZUiEb1H+FaoEWku9\nXmI1aHrXZFVHs6D5DWK9aqBkjQ2Uz9LlKlZrGJy/xpS8gZ5Ud/mJeaGjRAbP\nwPPDHQdRckQM+8OD8EQCoDgdesYg1RNspZwbSqt4Xe+4VyJBE22uIMb8yONz\nusx9qcRATc36OHp4OS+0OYRRRO5wYaGgtqewCA7uf4cfQ9o3JdNTJufTCovw\nS3zX9TxaRcytF3aTlTBy/VN6E+nS3COmv6Cr790LNSLFmkZ5Q6pNdUh7Qu4e\ns/3oxHrnlhlv60ODbLtTdnMBg9q0HLpFJoGWh9+xHwrb8jk/hD15Q2HOeTcN\nI1LAqJtKKY+NiYt6ehpaiH+sTmNC4k2A5X3K2ToKp6A5b+32WvGPNc26jV05\nYX2MSZLRlv1B1qyawnEVJl6jHrr2eumAvZIxD3l4EI4st0fDL5xX/L1+M3yl\n8DvvUw27q+ZjARaqiZAlj83KZ6w3i2o66cCoSN103G/4H3LzI5vQLVJmV364\nQ9VgfxFhOOPg1/vN93tUQ7goPNkvDb9OCFyOeH6pPrJmWZddXnbdfdN2G7UQ\nyicC\r\n=BQdS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoG10f6zJvjsrJt5//BuYFhsf3W5HBxnMAAiyKoaPQpAIgKUUnfsfYlIU3WUMmM79m8XqoCBorQB5I8f1RBzE2iug="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.2_1637746682603_0.20030995923796446"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.0":{"name":"ipfs-grpc-client","version":"0.8.3-rc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.0+6178708a","ipfs-core-utils":"^0.12.3-rc.0+6178708a","ipfs-grpc-protocol":"^0.5.5-rc.0+6178708a","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^11.1.1"},"gitHead":"6178708aedf5ea86bf537862c08db49f5b8ea20b","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-6s9DCj2dp49jyZoO7dRi8OWH0NHVVQv6peA0kqBSEzZVh9fe6r2XhvQcTh53mq24Al+KMpMFZcfPTtFvULRUMQ==","shasum":"476c41587cc4b2b050b3ad9d4a2f88bc379756f7","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.0.tgz","fileCount":75,"unpackedSize":218401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnghaCRA9TVsSAnZWagAAfR4P/jT+TJvyZRJNu3PHImVV\n3k7OsKKM/N257glFJBmkippYY3m8/OIDpPgaotxPHfm+NyA1pXV5OBz5JxjF\nOWZZxfoDtJLM7BzlqYOslBiACyJY7exxpgggT371eW/PqKkZVMHL2q8IA46m\n3+dgyaf+DqKpCAYsWdgFvBORsVHB7P/N4NKPGOT367f90zRVLB6TemB+FZDk\nMV8lY159ohir5papIguQIX36TDkGJiF+hoBTYU9r5CKje0LlKJXiD7WnJt/b\ng2wptFImbg7iiunTr+gUptP9S5f7ENJAeffPoY+N8ri/nevrAtgT45bz5EB1\nmibPg7qTNC6/DX1ToTxhMARsbGeFUwXij240MsrRsY4a7pd9UYiwh07wojcC\nd7n2QPI+f7QW5QxmgPthDkiPD0xkNwKbUDy7/CPy+qFkLrGnW2JpzCCm6tej\nHWZYxztHo5ceF3YibKoIwiiNVWpYS6pvG+sZ7t7Etq1ekxZVAlsHSY/BEBZA\nA2UYKkvKr8UtNUp+fO/oxcqsd+vOxuwb2BERF4FZSwlyM6lSbJ1/06Y/gSbz\naxYQzGWiDd8q7wxaXk2biKNj5tAfGU666J52L8XachocdZviRwFs/xdzEYiB\nLFoLoxFKh3OugK/rpdfN6bn/GMV8rL5TZLMS6mC7+amVupeZZk06ivYsBvYq\nLGUx\r\n=qUyO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDW9DUU27eWQ6cx6QdvB6mLlCltCdl5bABtMT4eyyxerAiEAk+vkPOMq8sf9MRtkohy8e/19fTm5DZgNLfqpw3gjWZQ="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.0_1637746778764_0.7592913432757815"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.1":{"name":"ipfs-grpc-client","version":"0.8.3-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.1+62d8ecbc","ipfs-core-utils":"^0.12.3-rc.1+62d8ecbc","ipfs-grpc-protocol":"^0.5.5-rc.1+62d8ecbc","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"62d8ecbc723e693a2544e69172d99c576d187c23","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.1","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-C7Q4j4WZwDTWMeMV1Iqbx6UYQBZTCJ/h4o3LVjE0x7l2VkLP3Tl496sccasR1K0/ZYm+XNNhp/AiQQamOnAAPw==","shasum":"376a359739d0011f3c23af9fd450d36620dba8f7","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.1.tgz","fileCount":75,"unpackedSize":218563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqfbQCRA9TVsSAnZWagAArnIP/39OTiVr08BqGAx7Jtuz\nw4WGLRC/Hh682lKQzPo7B71M19qfJirQVrrj6ChpaQB5z5QAskNruIa7bzOl\nZsR6QXU5FfYA1DbPZfSRWJDaPZoL1QSzejhIykE490TyG0NXhFyucdkmGKE0\nvYb9EYCUe7rGrvb7CGyLg94OXkHewRoeCWaWgKKb1Iw3KntiNU5e/quibOpa\n2UGwcx4TnjnIIJNlwenlbMiX2a2LwXiPVIp1W4w3SdSda6l4KyzpbP1xCk5N\n9o+BcZiNQihs3CGkWpAkhW5UhTcL30Kmd8NDs7lN6bFmTPP0QsXqflbKRWvA\nvbaUtIOjZUr9OThxQJU+NligBggBaFEglBXgx2jA/lcPE0zCVx4Z84SX1Ioi\nVVrID4exyH4CC2Sc0WdXhzgWoPgJ70U91uQNGvWQvMUsSI22RojFmTXihgIs\nyvLBCynOGa6lEV1aR31K0I5x8y5OlwjOgAr7/iApr24/UHPTwfcktvdVZevx\nHjq5iwiTvkHpnld0BNeceXVKjT/QYX034FtezkCH6UVhNIw4N6S3DWQxk+nV\nf6Pjjh+VeZTVTKhwrtB/9SQdB99n1pr8VNHH9QgtsGZsCe2qg3IUhiDDpy9o\nNWu0/Jap47XKr7Eyo0HUGQhursRVWb6OuBAgwDHk+Jcuo9RP17bcFOF2vNDw\nFThF\r\n=75Fe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlCG6vzWBomlA3iz6jRjXhSKgUcgj3jW/uVDNTI5vpBgIhALh2VI2xyfh1n00G8UEQBRByvmPLT0rXnYX4hgCOA97a"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.1_1638528720336_0.7636264672563713"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.2":{"name":"ipfs-grpc-client","version":"0.8.3-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.2+0c269cf6","ipfs-core-utils":"^0.12.3-rc.2+0c269cf6","ipfs-grpc-protocol":"^0.5.5-rc.2+0c269cf6","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"0c269cf67a8f6b48809472e83c4c1cff156afe0b","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.2","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-6v+DxRDqLL7BTdFcQBEtigfbyh7Xl3VF5dcqYwGWJydNluBnV85G1EO/9i0167N4xxpW3KgJin6IEIqFsbZmnA==","shasum":"07b1ddb82289f85706c3ed52d0844b4bf4f8c352","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.2.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqhsDCRA9TVsSAnZWagAAECYQAKQyX47XL6rtswY3+es0\n9iyUBSsDQV5/OIO1MK5RHWkAbn4qREfRH4VuTbj9+vQanqGlxENUxrO26M2y\n+ENi+DZeLywSt+HjNrpoEseGxR8dDhl1ymu4xzczG2KpWK18/FXeaonm6vt6\nHP6PWpczQG+aKFOlkIa7Bys4MfRm3Vx3KFKs9gU6cBqqUWbbBakBk2tm9w6g\nGhxrQLoK00Kb1Skz4kgm7y/izcseDGDB/CpV9RBI5uFDaUGKgLszbpZd7Bzm\n8HCEfk+QjkHJ78J5Zzvw0XEW9VVipL24PSY8mosEas02igJ00zX//tA/riSC\nIyiyVqxIrC7pD3MvwWzwdgBLfQFoDXoSBh84HLzUt+MyF06Ly56m3GL6rbMD\ny9EFvjXe0FCVl7hnyNL5Q5w4jArC+/L2HOJ8nexk1elibglYplzvH1xQKKqt\ncjivCWBgVytKlwxVoHBRR2rKwsG+B8uABrVg6O4hHhty38ati/wtT6c1nKaj\nJdy9t1a6Pi29qDYsqlPAJ/yn68NHYIpX4i9Ijq0Dnm/etdIMMm+R9fKqwZQW\n6XfYm+gjdcOo9lKBzzXBme5DXaFLJ512ctteLBPRfXeCpyDif+iMBy1i6l4k\nLPOE929Z16rCT1UvBaGEvQ3tLhq/5cF4w/VX5wWZA2sYn3Vydl+Q7rBJs6dv\nftU5\r\n=r7xz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEE2gZ+oJkmZjBro+2MyMposx0R6yeefB/O89p3kkCVgAiAxuXGrdrd34a/w5ty5o/9ytyliviYbgsmgNNd6/sKNIA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.2_1638537987263_0.6368827952292258"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.3":{"name":"ipfs-grpc-client","version":"0.8.3-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.3+38c01be0","ipfs-core-utils":"^0.12.3-rc.3+38c01be0","ipfs-grpc-protocol":"^0.5.5-rc.3+38c01be0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"38c01be03b4fd5f401cd9b698cfdb4237d835b01","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.3","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-jQtus9vQB6fWqfN0HEqWvtM4LgbrAtTukWcVPZgK1vEekFlk7n+4qzfd+2r8GmCfhiQHahIb6eYRPxQq2MLsTw==","shasum":"01934ab1a64271a678d9973d4ab38409c2c3acb8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.3.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqiQtCRA9TVsSAnZWagAAM/8P/AwS9A3fMBdxlqLyByj6\nkMHM4ZJVnwucbLPLXypPCBvJxTmQipuPpbjCIoZGKio+SylZd/d1ok+M6XQh\n6xp4niq19rdHr1ngjWy/niM1xcjEXD37GLhifo8pkJzFX6ftgKucrA0eE0wW\nWKjd39dwfrDMDQESRF7noSQtyrEuwSRAPldFZoFljU6Nw5eZsQkjO5lCM4ZX\nAk7y19vqTHprxL55KKN/agZ43WWUL/tYRH6FFHwoTLiBdtdFGOnOh7Wdfktd\n6CiAZm3enCMqGS5yMpIPU5wX/F68u21zXSysP0BbM69elBQG7+q6nwoRXu31\n+hG3hyG6IUTmqsr0lj9H+tp0tZpCqJJZkS0buNmqGTzOR5RQ5+uOoipVpKRU\nbFbijN8uEyLMKH8Mn1H3hY6QiC1jQBMSUV4LWUEWf0NmAsHFMXItYe98OEQg\nhsS6Ou9T6sxUcWN35bqJLJRkpxm3pD33eh/w7KZW7bkZiFYZaI2JJYhiegEv\nV9kriJWPiMvS2d9Od9s9ZlgYoqopyREglrvLu/Z6jD1Fhim/UlHIXds73AVe\nDj6jaHAsWRBEnWMWJG/GRjlhOkxLcCBQIRHkMNIWZVb/D+CtgFVZwJ8wUHzT\niAxJA4BBZRw+/CCfNp8yqlzLMoxKL+pHQSPwKTKkRG07XQlsq4lj0JrKmZHE\nb/jG\r\n=pGEj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEl2evzLaEVYVpM+HjpmI+0OfBaMR6IrrgYzcSHSlSQgAiAIh2897+uiVgr9/4I4hJDR1YjCAY8DQNX3CeZOg2HhSA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.3_1638540333143_0.5328936898083712"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.4":{"name":"ipfs-grpc-client","version":"0.8.3-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.4+9018432d","ipfs-core-utils":"^0.12.3-rc.4+9018432d","ipfs-grpc-protocol":"^0.5.5-rc.4+9018432d","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"9018432d5dbea466b8332b0a917a166942e40d29","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.4","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-ZHuj7crsy2kld+DuIcdF/ZM8UwGgVJyEQ3z7GaOMFmYm5HWtGNPaK6/woleJWERZZk5krN6gZjKIu6ECMmbFlA==","shasum":"ae47ccb02675ae3d969d4e7a86c1f2325c5b198f","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.4.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqjFUCRA9TVsSAnZWagAAVgcQAJnfk3EyBm4RSJwJHpsH\n2QmHxwGJsaRHoPu71+5aykkdeVewGhYkfal+j8P9AEO20ovgCb6MpdURP4yV\nmL+0QTeQCjcYVyUupf5i3geuFOf9ilZHHCH4o5kpZlU6MJgt12aFt4q4Nvyj\nXU322A8kLK9U8IGXwFtoXMZZeW45pr8TCEDUIPnOiUvUfNHHxVvCVL09DomJ\ngfJ8A4VnBZI60W18J6lR7moAflKz2vdwkKBNGF0ZH73pawGrpsIyWA/QQJih\n//g349x2iRBxdKecod6oj4Wj140yZoLc/eUUnLjqPzIzhAzPYpYPkx5tLo53\nJ6YujKoihULxy2t8MV2GGyBqMk7gXgiJ5R4Q1KlJMYQdYG3c2r3ImVKGTJCM\nGvOLRYT4+2RYMmgAfa4KShUZm1g5/h6Ang4S0IKt1x4Nla3Gtxl2PUjq3mJA\nTnYd8OP2NHS4DpPxVpoxfB9r8CAn4SQ0NhALa0T0u3CNmYpSye93PcgJ9wu+\nXeZLqTkdDk2pv0owQHnOCAOozA25WJ20CTPAbxn7IlrEQLCiVse3ICmupjPw\n8Laenc2fPZNjHEQ2/lUqxBsxhbC00UUuBPZuKfYCDp+DHl9GSAjbhkk4V3Z1\nJcBZKLZlBTb/LHRrNGcvI4gSsa6oGDHKDcAMXzSrdDKkOADQBJkNsJVFQriD\nhpTe\r\n=N91n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDoh7PSG8BaPw4JK7++vPAQEDD8UsL5G/Zkc+2xLTQV1AiEAg8IUzwVG12rRDnM68zh7UYNSYazbCp9eRk2ox/RqnI8="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.4_1638543699838_0.41081186185571616"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.5":{"name":"ipfs-grpc-client","version":"0.8.3-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.5+45ac9730","ipfs-core-utils":"^0.12.3-rc.5+45ac9730","ipfs-grpc-protocol":"^0.5.5-rc.5+45ac9730","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"45ac9730d6484e8324acfbc3579fce052b8452d7","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.5","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-C8c7UN9Ekaz0EVC/Hyl3C8GUFR6sfuAuMvkuMnl818TzoMajyhw450UK7nSFklgja9LO13RCzClj6LAtRv8aSQ==","shasum":"47534b0c4694f2ab96ebd18c60ed68466ea1b53a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.5.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhref/CRA9TVsSAnZWagAAaHcP/jG20igwkYx9IgfRtJGC\n2xXrI6OQVnSYgF8Rnl/Lzd5qma1Fdec3CJ7NNv8sv7iKS79uWJTavFOr5suK\nmfVbNh+k88b0e5QqQCfdIMXI3qn4qQMiCJSJ7tPDcnWMf947QueiQ4wo9hYQ\nO3lERBzP+th561M5C/EG4bk61zRpJCDhKeo4zs9zZTMDHkLmWqcefONqoLHi\nnTxOoAnA/rjrv2RHFJ9AHDfr9YBhZzDap/fyQeKsJw4qbfcDBJ2EHaUQVVWh\njH5mle3f+us61AkEUNRyLcW+YoWxqnIGym0iwOfl5WByItKvgtN1TNuR+mjj\nAzHjUt2ZO5pFKNwmtkvzOj3JNUk9DMV6y8CT+ywFvqWXWXT2cHi9/4Ytj/sM\nIqljNONKV2z0O01Mlk/FU9nD1CsdItElIH+87CbeCA862SlDS8RiHwvrC++v\n55xBnxoL7nSQLK2Z+f+IuBMU0HLfVaKjZGWIK+SL1WB7iwF0x1JcQa+OmO/0\nYc1jvKDHLW4Xl0kVW2NdqgW7GydC6ZU6ZZ86nNiYWSLKuVCnZGgPYd8SCqbY\nXRAcY/VbF5jFw8XGetTCFqjfKoqLrwI/k69QS8IdG9Gapvdhc1ZdFm+RY/mY\ncZKLxeI/5td2yaDTu7VrVZxspRreCzfKytPiEoMH3Xsj8OweKGDW7cJZJY8O\nUFcp\r\n=eSs+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC58ZBA1IvDOZMlOVT4bG3NU62Bad8XKkzWuNRCr+fyoAIgLUy1X+D5y+fkvAv7RGRrv5bsHzzMLgrY69oxt9mVY5Y="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.5_1638787071335_0.14515567509645777"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.6":{"name":"ipfs-grpc-client","version":"0.8.3-rc.6","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.6+80ac58ca","ipfs-core-utils":"^0.12.3-rc.6+80ac58ca","ipfs-grpc-protocol":"^0.5.5-rc.6+80ac58ca","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"80ac58ca27cc9f21823a23d1e6357f738fdb6781","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.6","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-pTFHmYgIiIqZSKyagI5tBYhs0ybrW+60EbuGX6moPe9fnjJftuwdOV3CuOzcmQ5lDIU2OabGIrvgUsclyAr2EA==","shasum":"111d593a261ca5ddf1dee790dd42456fb2d73410","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.6.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrjpJCRA9TVsSAnZWagAAkpsP/1T8zNfFRYb54gN5BLy1\ny99WM8g211/BkLgMzIHe58q4dk32yIQplEn3wQWiklM02z7uyrx7BgnF8WPL\nm0okBwG5KNZrILw8SfFVgID7i9bVpuiaCEt0mnPCsqNKj2wwQe2Shvvhov/5\n4z2M3pzzNTagGZ9ms9Yi+MBDueIm/OuNQjXtj7kI8ylSleIrnPsngCdDcqdD\n+6imRKzl4/eoCysMt6aSPVahs4a17KMa+zufWeTS3HqcnW28yBw4jMGh05Jo\nfFlXO/l9e+5aGjMqiQOOTHZmxVsiy+PByycFmlSsbQ/1S0aEXanryPSa/JOp\nbfbyol8l2mKC3LXU8aBR2V5dsqEf3iAW/MK3cl1gyizrit16pJV3y7YFmI2e\nPkn45aNouagnpoYIDB/WNerLbOkeCgkgwqswVW2jNlPndKqz7YLoo2bzp7fx\n1b1bkF2FbOZqKZpa99IacmT2Sd06kiwPID0m+Lzr7AKX3x0DjnlAj5RE2NPu\nPObgdeg8fXlysQiw6OiingMIst+T83pznaczFyczQL3HtfFSEr2RnY7D5wfK\n9xJa6ltCf/8RvZGwhYdqbfy+ZyBImfaQtzR8ANqfATQPE5QS2Dx9r6Njt3d+\ndHvFvrOwqypE5QNXL3O8vguqRtchQFpN0bTO4IMi8xQ1Cwus2DNxlAzqwW7+\nkx/6\r\n=uIpF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKzDWPMYWFH4wHJG0zwV4/LheZZfntSe99D+lQD4nOfgIge7g9Z2gr9rD3Dmxb2elQdwDxA6/K03chgpQVKJlmiGw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.6_1638808137318_0.8018922607230758"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.7":{"name":"ipfs-grpc-client","version":"0.8.3-rc.7","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.7+c083645e","ipfs-core-utils":"^0.12.3-rc.7+c083645e","ipfs-grpc-protocol":"^0.5.5-rc.7+c083645e","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"c083645ee68aee2fd40f0bd63fc5b4d1395b5b33","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.7","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","dist":{"integrity":"sha512-GJLkrlBELINjBBKJYv0gPpTrJzmU3qaOjoNpPo59uTeY1JZyeF1kqpzotXLNlE3DpL+5ckyk4fYzoqmaeG2wtw==","shasum":"8f91dcb8c5abff45b3b3e8e00f70dd67ca0c5d61","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.7.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhro1uCRA9TVsSAnZWagAAiIQP/09ggM0eCfZyVdGwkUQT\n3Nhs7vN1PS0e0SD5oURX59/IgaJn4Au8TxkmOy265nfPh1d30a0z02V5wukz\nK7kcrCHo9VQei2WfBdGkN2v8xj2HkmtK7x3vLNoZBujryPvS2sNw2ZfM2LBQ\nR/fsHLnsS3TGLMW/8VcIeO0/RlHKaR36sMcNy1Tlauq5IMWGLZWrK97rDK7O\ndcHQjTw3eockUGi9Ns209uw7nrfjJIVy5Nt12mGmQdZurHTBjwIStLn4UnlP\nANWeaXa63H7MLnAzNzNSa68y592QdWLpQ1DVT1g5ArM+q7sVatlrAhwFUxdi\nuVakZv46/TpNFK7HcqwmwwOSPaTBVd/szOmrNGJNO5s2VEs5aSJFpyEwRGHH\n+8lVy+GdT6B8kGbhbkC2CFhbd1S6XGPfRJd2QmgwJoMSf0QyD/YHiqc0WuES\nI5iQNm4PwcpjT/Lc/ZovzFEQkrRxR/547GruIq+JQNpwg6cRBeIshEfuqamA\nIwdU7HGVbYE+f4hjFlKJw2ecq3FPLNWbXP4OYog5ys87/QyHWMUXG5Agw0aB\njVayflzi0KNuDwjQBD8s+95Trd+LkPcGBWOlMFd8eFIOJbNXWdvDq0PvDGkW\no7QuC6y3PqIBp0uRyxPDNUlSgwMmQi3EssmRbhkuQ82s/shrclT3CLYsGa57\nr4yk\r\n=dcsr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOr9LDLS7/1xAw9vfqwB+wP2hFsoiZSNZhz3OeI5C8iQIgZTR5PBR2Eq8dBtRLcYN8Kv+uNnnXPnNfeb6KzAbbW6w="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.7_1638829422331_0.6753435722892405"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.8":{"name":"ipfs-grpc-client","version":"0.8.3-rc.8","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.8+dec9e4c8","ipfs-core-utils":"^0.12.3-rc.8+dec9e4c8","ipfs-grpc-protocol":"^0.5.5-rc.8+dec9e4c8","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"dec9e4c87ca7829761ae6f63a4809783e53ae558","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.8","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-t9IaFQEoOOB6eUXpbzHKyY/Nr1z4CcKiObmLbnCI4/Ib+xSeZfq1g7NWwTM8RFWsNnxnSTfxSZKXPxYY2rAzZA==","shasum":"7b998904b4c112c659b4a8b3dfa4478b939356c6","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.8.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhty/MCRA9TVsSAnZWagAAtIMQAIZki+cuYLzs55OvdDGR\nrMs37pFdC3qb1FQXLOv+bI8sCyvwMP4zRRMg3lqkoukyXteUg75pB85BuONZ\nE3+CbIJxkmwyFfM5N4uT7wmYabGvyN3+cb0HwlmPkGkX/trK963vbSBw/v6Y\nZZH2HUtWkryDQihYCzyUzfr/IPZLsvckRfedxuHkL3KbZq1gQFXoxHNlNI2b\nuN3M+lh1WrAJfbErcWqJJSdbw2sCv0m+l1AjfMR7qsfaUk06qne9ugOYHZM5\nXUTNWLqFM2JudMWKDMqCSA+1nmlhdFGZdrZWYvMe2nMdn4Rj0sO3zAYTOe12\n0Q9QDiABD52+TFRtzWLfh+WxT2as6kNCsuaafdFwtAPG8sE9vaZS8f5nbL+4\nWeZf57FnGRjbEPTj8wDVX284F+SNMAOBbp8YIBexoUItjy+MgN7UHrlTHnwY\nL+Bu6jwjXCrBdklP9QlnmlrDsimLW/T79Jnl8cYxY9ao8we8inHh81VfKN1g\nRgw9judWqgAf6HQVk2fDAKkhXaEFblr5JiRL3i5QS9N4f6PGic3KwX+UXh4t\nwDmrf8+2bKoxxFF9bURet3a5tYEsmI651DLAhUwvT+feR7WpFOLQwFmwLsqI\nd1ukc2eCIbhOpleVD3k9z36sAlM5oKdSZ/vh9Sq+Jw+i/L08V3M2nMkoZjVV\nwKmK\r\n=2FCp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9Ypp5oucBwEX6sT553j+98F2K18ASlK2yCRUjacG8IQIhAPKlvx+uqnnQ06U0jyP9XmXdMbHt03T4EYS1CoL5Ww1f"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.8_1639395276081_0.7362185220904784"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.9":{"name":"ipfs-grpc-client","version":"0.8.3-rc.9","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.9+adde8c13","ipfs-core-utils":"^0.12.3-rc.9+adde8c13","ipfs-grpc-protocol":"^0.5.5-rc.9+adde8c13","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"adde8c13ba433b81e76033c418607be389fb3d31","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.9","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-QrcSPOt+r7RpwrZ90b3x2gV/KK0g7H948/v1NSz2g9MJu+grKEfmuJ7FzmgLCFMh+f4g58WChkKPCh+C5T+DrA==","shasum":"5ec649d6f315f42bb8ed5e1585384c4b2c55057b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.9.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhtzgDCRA9TVsSAnZWagAAbMcP/3ARxe3TD2oSvmkGPte2\nI9WMtAxvV+c9yIwUkBEM75Kw/7vEhZ1MXWkZ1mVtjyL6HB+OU3TvC+GUcg4G\n33UcBL3hPK+0/z7wLoSoQTpPn0afzdqJ6LFbWvwDVHBdg5YF0mYuxKR4HqY3\nxMz7AWdRKuw8hu4T6ua0Mvtl+5A1Solp/+Qo8a6aSIyASkfv32wQmZU/fyiW\nGVpd1YfLNCraEH6uCLrMJLvxSQq7KdiPNTcaspSz9MZ6lWnMr3eluRcJKUTl\noVBV1b5SSz7KSTodl6B9Um/J+y8eTXOTrbx87KhCbqSiB5uAOMgfFUSBEBGp\nX5CZcBdLqBqck9SeWaOFgwTbLIjPbl2OIxZOdQI2yXtYrD2Kj6d/WaZ82utA\ngYuSK6wE6w6FIPnlpTQStAFmhOl77q/ajobdiP6xPpNam95K9dtFsE9GQMTd\n719qsG1dMekhPywgG+lGpRNw28vGhNIoDkztnlzmdD8QvXYi4OMPApPdPtNO\nHuV6TbNDcAa5nI3/l79VWyVH3JwnmJTAPrL58r6fcsxz1vqTqm9297v6wzix\nUe13rBxL4iYmGfdqLOaZBl2qV2l3oA82H32GIphC+v+WGaCl8eNTOLwsD6Mf\nqqgyNRx//TsqBr2AyitjFUBaB6NmGhIw1kXhMObct/+bWCunWe0lDvoTM3oh\nOk8O\r\n=tshH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEVg2GLq685uO4lm1qp+qRRp5m+WejSjI6YGsWHlcv4mAiAL9sDvjHIyYsdIlLRZEESHWowQkOSk0JrGf87EnGSSNg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.9_1639397379432_0.2629834379262119"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.11":{"name":"ipfs-grpc-client","version":"0.8.3-rc.11","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.11+33f1034a","ipfs-core-utils":"^0.12.3-rc.11+33f1034a","ipfs-grpc-protocol":"^0.5.5-rc.11+33f1034a","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"33f1034a6fc257f1a87de7bb38d876925f61cb5f","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.11","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-h36ilpZKSu+2OfVSo/J+MS5zCgNrKurKHwIGh72YMCU1+gNTjlYuWriSYtRV0p3/l2eBYj/A43/0hAKBYLTpHg==","shasum":"9c629466cca0eb8461cabd30e60ca31889b30039","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.11.tgz","fileCount":75,"unpackedSize":219359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhueSSCRA9TVsSAnZWagAADWoP/03lGJE3mmXdT+tvPsf1\npAsg87tZpXgSrIeqcXmSGSW7RqlqO0eh9o3cJMkdbuQBQmZRLYiYLfanklr8\nwcu1qiatJHoOa9goiztgNA6Kio7jBrgr6RJfN7PFXU33p+DBmINcpmMxh6jK\nanvb0kLXhfw1SzsjxzdUyXwIKAYyt6r+5wXbp/yvbbGe/uaiDnQQLJXX1FBA\nAKtk5l9H3a3Uq8xBCnTUUYyBz9YTjS7Hqt3In/78Ujk6+Tx6UTuoV81vwgm3\n6VCFIf4Qy8/gr5HboJpydA+yVx7GCaJ3b4z5RDqKF/ABKoGJxZMuXUA3Qa7e\nt+dkG4eqUnizv8giHcySN62nGy+b5BTTrDZhj93ut7/3y+dURPLQZafz8MGM\nh+Ab0K6EI4ErhOprdO2QQZMlnsdwpbpctu4GXu+D6GAnV6LbyXkt96mm0UF4\nQ20UFYYqW1IQ7timzdAWKZBfdahJVCd7iDaRIpAvHQ32TgjWciQnUGo8BqU7\nNouovKLe1OGeDYmCxyz8Whg2oNMuaIVhRGdlL9J1qnnp2hPI6uO8Skf5GzRA\nQO1nKwGGOyNOULUfscHtF+Hieoc+AWy8Jgh+j5ZYW0z7mHqGvUoqOa4+aWWV\n+0hQ+dSI/VeHEdJHiMLqKELV2tvcLOAdEGf4eEgyYPlE4kVoMKp5dXsbEFpj\nrEcy\r\n=XeH6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBX+1eU2SFBeEaEg4+M7Dj+VcTCNUzwEEYcSjfibGJXRAiEA70Z0sh378JD0Uyqa7yOvKyhxDnIrDwf82ZswvYSX8gk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.11_1639572626462_0.17103363040862152"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.10":{"name":"ipfs-grpc-client","version":"0.8.3-rc.10","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.10+73476f55","ipfs-core-utils":"^0.12.3-rc.10+73476f55","ipfs-grpc-protocol":"^0.5.5-rc.10+73476f55","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"73476f55e39ecfb01eb2b4880637aad658f51bc2","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.10","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-YIeINK8mcIbdstR/z7VAXcq3pVc4/QGTI9saa1eDCW/ND3lv+E3cxQwXbN3vTH1u/kD/ja8XGLkcMSgJ0k1XxQ==","shasum":"038252c23c4bbf5696dbff82b4ec4fed59d4161d","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.10.tgz","fileCount":75,"unpackedSize":219359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhueSfCRA9TVsSAnZWagAAj/AP/37C883NY/teZVoyPysE\n7WU1alunBeoluxjWEvnnQIIExOtr+mmfuHSIntVRx2WvB9avK8DluYRFyBha\nHlA07s3HKRrESHGAzQG7CxJ9hHhxCPVCIqMCoLvJrIbN/bRuiPyFz4ah7Oj1\n69cu3S7wjNnEUpsEAPx6F/6/1pGdRuzyHY9QmuvwY0l6tGjbFlcwaHmWmn24\nKpdoKtBkP4cOy8OHy44Dd7YIhB2WV7DRNJHGLRnBmbVHgZ4RPrDE3GN64jT7\n40qKYxULK4O+Sv0RfdK5jKdVrFJ2JsFib8plDhGl2/BRpOUlcZ/fjM/3/HNq\nWx2XthfRL5LKAoFGuY53LTBt1ndUSWzhUOVa9TSj7sp+npK2aw0oWT/fAogZ\n9pIJcCJvqtxnJB/4707qZuc5oaLjNTZPiZZa4tF1UrA4DD66JhFBji28yQQE\nzEYCYB8m8mHQvxInbqWmK5HyR90c7xH5A0xA917pbawmYsEoqYVxkz49sfXQ\nY9C9auqMOyAtd6CSB2XRw5Mm6agaGw3W7Ul+3uj3MjON7sdaHAZ8ID4U+UEV\nFD+2eAHtBGLP1d2I+RxCkRJdVEVpboS3dXXrK9SB3bpcV9qO2JRhb1h6wIEo\ndHZ5ANpd26ldh2i6c5nmS3/OUaU8SUtecvYVBSBWOchQBMLGZwTWaQTtbNkl\nxkMm\r\n=6GlN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2rh+BXJCJ6J/SBSy5BrsDO3p2kw18cynpPcvYrGITbAIhAMaF+CbbOJrFV+PpsJsRZ5unKTUBl3WioQTmSaiWup4N"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.10_1639572639825_0.4324256541053628"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.12":{"name":"ipfs-grpc-client","version":"0.8.3-rc.12","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.12+6eeaca45","ipfs-core-utils":"^0.12.3-rc.12+6eeaca45","ipfs-grpc-protocol":"^0.5.5-rc.12+6eeaca45","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"6eeaca452c36fa13be42d704575c577e4ca938f1","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.12","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-iSb1pnIIM87pt3QzHUIbRqPcLWn/6du5Ce35YSKTTm6Aq68IrUvoJgOGjTap2XurXyPDNr4QRpa4vWK71mttsQ==","shasum":"5a61a78ee6afd255ece223dec838028e9f4ceee2","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.12.tgz","fileCount":75,"unpackedSize":219359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhueUxCRA9TVsSAnZWagAAnZsQAJKV0XifD/OdRxBexZLn\nG5p/45rccH2MsreHajSlzbGPQy6L4mw03MWxlYRqZHG9aSuYK7VmfwGQZdKf\n8Zsa04ZOp0kVefmQzZvprhpjK2NbgJbnu2M9Wo1zsCGUb3o/Z69mlktMHYu1\n4f4VWsSwm82tA0KAxkzInT7RAYzfFSFut5K29Grok2UNObXTljfdHNdNYezt\nhgx0H+Pj/4tOmlPXZrbKFX3d7c403EpO0L4iHK8X7yk/hXclNKYUdXYmHyXQ\nItE+hUS58KWGG64Xp/QRaEiiQJfFz9VxfzXWyWJLR/bA9N/Nizay3PRwQeyU\nxcVztTKfppN7ygw5+AP/keyY8ybNBu9Erlypg91Rg6GHqEujTZZpDjpchv4c\nk0tsfKEZxZo8ekm4eztcVW82k5jw2iqePXMA286e/599jDjr7wglLogcEdM8\nTlkosueUYVY8Mp7J+rURuqOivPX2M8vOfPoOTT/NZ97Ery35GtD59jugB2T4\newgG5fNSThNK+PuZcxDK2zWNLri565ds3d3yww6dpwKDcxOK96NV41ySCb1E\ntuQ9uv168YGUb02AIb4OhCpAXzft6pE+9lVOG5w23uDL2OjNEFCdmHva2LmZ\nZapm+MKU0uuOmBz9Ma3eInrdnQ/AwwmIdxfqqDXHchGuTfjXMGX59pW2OGLH\nORQM\r\n=U40B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICvfjJ2GeWtlyN25NgLMfM4RP5R2pVeJaJSKchjfaVxjAiEAwe5lfK5435V9iNrlKUoOPx5zJcWj8NvXvMvCxTm6tDw="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.12_1639572784896_0.9814509704004253"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.8.3-rc.13":{"name":"ipfs-grpc-client","version":"0.8.3-rc.13","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.8.5-rc.13+d147494f","ipfs-core-utils":"^0.12.3-rc.13+d147494f","ipfs-grpc-protocol":"^0.5.5-rc.13+d147494f","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"d147494f362d38244bbeafbd6e7d76789c7c5020","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.8.3-rc.13","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-p0fHxAL7KmmEX71q95P43G0Tt2LLVr45nLxD8nXwytlyqiYIK/e3zpF2TjKniPSGj4ElSIr5otGcN4Je9BU6jg==","shasum":"94e30a80f35ab647de423cb8d5c5da322d008501","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.8.3-rc.13.tgz","fileCount":75,"unpackedSize":219359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhujMJCRA9TVsSAnZWagAAlxcP/3sjJLcLECaX0kmAj/uP\nSbrrc+tEmgRy1rA9Q7UsoW22AyWcUL06+sftdvIWMkFCABpQ3a7WWrGUzd/+\nXtuZYSDF9o27KJy1KOVHfaldXgLKHAUHW8yVA8LHpj6OqUT71PBLMrEND9Ie\nQojoFR46eL0d7FoaBUJYglxjIWmsWgYnYDS2N+mc4K0RALj9vlcZ3RBba5ZS\nWUbK2EjeWdpVzTRXRxvs77xgxQHm05aLK3KsfBkYRl9FrCYGjga2t4ol972R\nkMuHmGxqN42hIGbnrQEBKhi+uYLa+kYTQKbVW9rGfPf7dOSIX+9sfCwHdX/X\nFfLncKC0RwuVT+5drdQv64FRzpnaVgcHqYKYrnYv97IQlFHKBd8QUgYip4aq\nNw7zNPtw1lfDlbj8HCnUo1i1RPs1UYl6/8wojcAE6SfmUZpfUg/RZ3Xfbp9x\nd3suLXb5eUMT2X/fcoknC99z1cqWGOhD6I+qBNSAo8oS0TU5vxgEWPZXLJwu\n4sZKL8cHwet+PwgjKS3MkNyd6JymqlFhblhtbax+I+OcdTSOjHEhXz0XD7px\n2fKVSX4jG8h9hloKCLyxAUNGkxs72RPgtrtbvTti/lL/CzrsM8qaOYbBJlDH\n7syKHX0DfADqFKO1jXUwAEBiFowGleI1BiUoilgV7jjz8J1mCEv3uKvK5dqO\n/J6I\r\n=JLcC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFjSEaYAGf6j4VwGyYiMqLBM2JsVv5dyczpdahMeSg7nAiEA8GIbZ6NTIWB6lYaTTTJNbQ9FSWuQSZJUKrWd46yVqpY="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.8.3-rc.13_1639592713412_0.43347473108528045"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.0":{"name":"ipfs-grpc-client","version":"0.9.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.0","ipfs-core-utils":"^0.13.0","ipfs-grpc-protocol":"^0.5.5","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"7375caa8805298fc671ed4080e1023aafe756151","_id":"ipfs-grpc-client@0.9.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (darwin)","dist":{"integrity":"sha512-izNVi76EUVOZWHVjRSVFRvcuJ6RITLud94Q9naQBGW1Z3Ic3PbCUULj8JNCF+7lVhMquUxKMxtfIr6cgnr55ew==","shasum":"0c6c3472827e4af3654de4c99d7c32360d2812c6","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.0.tgz","fileCount":75,"unpackedSize":219299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuk+9CRA9TVsSAnZWagAAL+0QAKDdFK5iBVBvEnTwvsYj\nZmunezyy7eHKx8qiP+NzyhfrULRP5EwdMAFvbXFxKcFqpvHqAbuKrQNEUSvb\nrt2hOFoTJdHQ6scoKRb5pX1c+cXY2ZIHbqSFgHVjcRtdgGBaTkRu9pcSMyqT\nVzyzU1Xf0Aa2FP0UsK/ghJWZ+n3DSmaJBbYsarBeYfedKW8ElCWj0CgHgnb7\nhtJtoXkEOfxxLbu5z6oy+D4CAHd/aSn8bDDPJ/M6+Q8NNnb5AXHjQcXMaLIu\ncF3OoDN7/ZeGEAedfDaiDJ2r/5oZIKAHCr+h62v6sDHYsIrQhmpfGl8v8d5k\n9in/fSkM53QQIGcaqGdOXUjNn6anJSusMXJTkCViRVOoTFJ78Gaon5t2VRaO\n417mdq2FV4V928LofRn9phg7Wa94OZtG6mYOLnCHgRbxAsS6KVVzEkf4VvaN\nXY+yI3uJET4qDyD44fy6Je9mqoel5Dp78ztZkHAeB2dlO42C1fYNNtEI0sVJ\nbwpFaT9l7cQRrSaTX/Su0DKCCmzDacC5kpECeIzU93IvqkNLoMbh0iuTmSdm\ntBFzsK+aD5HHIa7oK+eMtHBcEpxc0M4ROOP19+7TQpiA7iKcEZG86wf58OEy\nfgNIEvfRdhPJGV1ivi3rjmgpiSv2Ca863xc3vlZH+GQqBxzlmPUr+sDgRTnF\nahwH\r\n=13Ch\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYYH8lmQpAT2ATqJ9dHIXrY3ZLI1EtDy/qoNEWSxU46QIhAPJtb9LabN8yx+U14ZdwwhCAttHGJWHogSl7/wSHI6F0"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.0_1639600061092_0.5149420515321586"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.0":{"name":"ipfs-grpc-client","version":"0.9.1-rc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-rc.0+7375caa8","ipfs-core-utils":"^0.13.1-rc.0+7375caa8","ipfs-grpc-protocol":"^0.5.6-rc.0+7375caa8","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"7375caa8805298fc671ed4080e1023aafe756151","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-rc.0","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-Z73c+Lq10IHg2OFvSPNd/fRjlVbczi8ZncnFjqrBh9WwG7g0VKUVTgqooeihHvPKstkCNNHVn8U9HdZfkeGDhQ==","shasum":"d3a05efd168d6006239dc88529c44ba381f2e38a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-rc.0.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhulA/CRA9TVsSAnZWagAAENEP/2E1UjCPa5OvbNKABU83\n/ZAyc+M7OXBo6hXp/r3Lnb4oYYuuMFeeD+jZUxWk1qH2PC0exmKelYHNCGaP\n1prjV17dVsNk2Bk3g2oxmUBaX7EBeOEIEHyAjD6RBKSWo5S66P/z7qdwSQAX\nv8F/oFQ9uYCfHh7NjptDGtLfvFvMVFwrfKMKWjHikZKiEvXyg1zIbppb+x3Z\nb0WZwElWATAwk8OZPSps0GXETI8QPOnNlC8RDTnO6atDJbtweWXlIN+Dtf8Q\n5NU1EjYlKt88hhq+XqM4S4yzkVSs2W5y1GVb98aQhnZXVYJmUnQAvaBx1w42\n6XnboUIP37InB8hvYfKBnJL5Ref7b/yMuELruO43q77PCiApYSgKjoX/TuUf\n+iVvMv2ruIYNweLgPCGPLrNH3yzOIcaOHavlgcAY7ZxD+5Hz7oAGN64TMOqo\nNO0O6WoiTQbNqsbpnLgC3cLcNH+9vxZWNyxjXhVwLLibbicbCCK60irWC8OJ\n0OJHgGRy+RhG/ad07hT9r2ST60I3g950WSphV4Ef/7Eoy4RYJf/8qfaViN6h\neyVqtmT7BsZt9ZazvkPVQKm96dQhDr/9KGZQd7QrKD8tRxS46J20D+84+iLg\nuaw+8asJnS3sQdd+/fXSOYDIggIl3vCW9Rz/QwFy6+goCrIiipVExCBUy5Nn\nbdKl\r\n=1lbw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDf2Zf+tCAzlbXvacUA4Ij6SCgyX6m3NR6KFZ5V3KSbdgIhAIxc1nZ4cBJpF5B5EvahkiOKm7er/uV4fEUtwtSJz872"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-rc.0_1639600191672_0.9676308673328411"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.1":{"name":"ipfs-grpc-client","version":"0.9.1-rc.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-rc.1+880e47d9","ipfs-core-utils":"^0.13.1-rc.1+880e47d9","ipfs-grpc-protocol":"^0.5.6-rc.1+880e47d9","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"880e47d98cd89d774d707d20bc4a3db8c0d3c5cc","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-rc.1","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-hPAV5ZFF1rF8rkgZSAPPw6bC9AdX32tEpB0gTiphP1Fwn5rVOP/e2MDy0eIsgERz2RGl1w527wqmfMUvStzN6A==","shasum":"5e28aeae6ad4ffcbcd3c2ed3b6de89dc12fac7bf","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-rc.1.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuwGlCRA9TVsSAnZWagAAh10QAJWvGBCAmxn1oH8Kqg5b\nrfuKqMkdtBKELDrg3YZTeaPc78IV4pNqepY9m6STfkS/IqhVH9U2gE+Csjnz\nZow/XKfr3WedDkCJyS2E+5KP7NQRcCJVxNnkYCfyExsW7nx/CdbuIXtPEW1+\nWRx4tJjxLHGDeyZHJZ7lcBbrMoFYlb0ppheqHk423YIpdPwUTWbcofmGplzs\nHpB/BEqW3c+M1l7svkbzRqbuQfzYEr5ExYJuFq9mL5pdEHXZBuP+e4fNZTMk\nCrWx3eWSb9BFzZugweBejtn0VOGtUmPXiUtxIJk0bnrijhtsBHb4lq2IJCqh\nXpStBJycwajVaft6k8Lz25RcKAPlzzJUbfmTS7/zGgtHu9vaJTCNGSOyDmqi\nM5z/adLCnig8BZ0+hpGOuoUTyaV2J4nOSyucLPvH5uA+Qky9fsK8o79fE+EJ\n1r/Tb158KaGGDp70meTxZeYnoNLvAmKToqxYELHB2pNHme/siso3e5AUcTkR\nTeRj5r2dNAW5CGLSm8JntPGiK6LY4r78XG34FgqPBkyVY5UWU+zrqKK30Sh/\n0tX0ca6bgkGd7xLqqke5K6nj34SUpuCQgAlL+QABvjb5xpAtiNmfze5a+Jx5\notBrsFDHO+nqYVxLPFnjAHUTG6RElXcJ6XCGRMBv97QAR++121NzjLk2NE5+\n9RFq\r\n=vsCK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHwTJSC7ciYa1dvQaruNss1yqR83o3QOARQlPmRP/C4jAiEAzd7Gf1cnRFeDrsCV9lvhF9UD8sBlJvxOCLgk2nvY1yk="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-rc.1_1639645605510_0.3132377713068131"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.2":{"name":"ipfs-grpc-client","version":"0.9.1-rc.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-rc.2+45d9baa7","ipfs-core-utils":"^0.13.1-rc.2+45d9baa7","ipfs-grpc-protocol":"^0.5.6-rc.2+45d9baa7","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"45d9baa7576a0ac924f3d01d49371bf1a4cf654c","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-rc.2","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (linux)","dist":{"integrity":"sha512-hwy8zU4QAHjgv8DsExF6cThduSzGq8iKuxzPrvpFLFgiE1U6VSW8Dmo79GMvJW5oHd1sFNnNfspqcVNoLqRP0A==","shasum":"350780d3f4efac9d0ec1a38ad8a40c51bb4957ef","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-rc.2.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvF76CRA9TVsSAnZWagAAfSsP/jpO9dlRy++PAz0BSb4q\nOMOPeFMCQsOz3hWb8iQpGVdPzffKvYugyxUWJXjbA8I88/pnzWAlAFSHksa3\nxVqhJoq49zZsGhxH2EJnoHPe+BbIyX329/cbJzuosPUts2dAeypTqUPhyfzp\npCjm+8cFsgdPbmEHw4/Ymf0iQ1DdywCdb2zinFudcTqUZlt2EKEyBUqWcTZ7\nLfP9LL3Zc5W+9BSFF5P3nChRcBbPB/cW8JUVMmmEAAgs05SoF9/892y/gyy6\nfXyWyUM2DB/ZrYq3Na697aomGU9qCft4Qcs+AlqdtcRhWs8qTH9NZIhF9lsz\nrjxizAAcQ/3yTCHlwYxFtk7o/AciQzPbl5Ly09tEKe5BjU+tbZHPyPGCcrmT\neHuj3rfFE5vahazTfNjIFtFYblryuoZrCOS1GWK4HgnqP6OIC7yZUootYDLX\n0OfVauMDUeU8b0ppwIEWhvDJatj9ikO4YJYVan3BrXwCDHwu9OT1Sc0pjY4m\nIOYusjKxRMEBk6jZmu1w81w0AbXD2Rxh7pSYtnzHyEL5xVCkhSrGCBGY50Lu\nt0lCuPJop/RtiwbmtUgriHZNb+NDtrABFsOryxPfc1Xgy1H/+Fr5Ya350Q4r\nXEDcHQjhAcqdZt3OogGEXnTf46N4ClsR9eaoL/6/dQ7ayXgiZvp4WiWxKJIa\nEpsV\r\n=jGq0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG9MTQyKoPV3lg3CvEVoBihCxsbhMVbKyD4Q8hZT6ZazAiEAhQT+QhvX4lrpgZ56nP6w5O3LtBgIyAhRXOUNAGWQAv0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-rc.2_1639735034672_0.7237125812855174"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.3":{"name":"ipfs-grpc-client","version":"0.9.1-rc.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-rc.3+67a8c47f","ipfs-core-utils":"^0.13.1-rc.3+67a8c47f","ipfs-grpc-protocol":"^0.5.6-rc.3+67a8c47f","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"67a8c47f7eb4ca93ea16defc24b1ebdcf4267971","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-rc.3","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-wvvBNpQdIprszEfM1/fLslZf+URKvQnlpuFbnWa+SBGThiCaFmhZH0VQoVzi1vt9LDNw7sdJN5oIMCtUiyTzzQ==","shasum":"bb59ab72bb0892361bfadcf3cadc70a377e81a64","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-rc.3.tgz","fileCount":75,"unpackedSize":219355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4G/1CRA9TVsSAnZWagAAkssP/ROBcTUg+MaJ4EY162Cj\nUHXfNRErYNGEilTX0O45viGsvuB5FNV6RrVjdFejpMxn2czfv9PjjY12+Rt4\n4/4xIG7Zo/8SSg/M2h+btM43KAt3Ji2nFnYtRJafvFha7ac/RX2JisdrlfTB\nBzT6g8CSlLc24n6P4tuUoDIVFEJWt3N9qCwmL1BmpKkVo3X7bwCeTW1Dv3Gh\nx5J2F1Y2mFICiaCwkcRfVZO1J5w7hAdTwQ5C9jIGkXUcjSPYIVRkyZTk1vkU\ndcGxTp4UEgxrwMRqAtOOE4nikM+7CrA32NVxDAWM14rhzVKPAoX1xYY+6sDS\nuGxNNWAlKKZCCqg8CEt55VP0aQlymYL0yYmG9x5AJpjcGba4PgdFORnPdbyk\n+oXJyjIMIdyvOZuFUoKQWwFa0c1gPUNFCyhpQng+ebXkTsTMxaEbOsSWc5Tl\nGvTU3YCJpFXzROhPcsLAJ28wp7auR5WGbkuoFyLpBsraXNJl9xdQd83yYfIQ\nxy72FRJIMMSiSCYLIzQ6Lo1eE1E5SBZPicuMGYG9b8ebSqp2dzMIk62EpN0J\n/j4dBQMoRDwK8+8m2e5cO27DGD/2M89YK9DQ+aH0hhRqNDclaIUTpmT3GMmn\ndu/7rbJxt/PTGfnD9kS7rNoqa/aZgg/e5ZRTD15wyY+xsACNXM8sRZ8BIi9r\nnHcE\r\n=I5UK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWmmcfGhmMYvD7MJ8/AaW6rC7iGKXFQW2qETV5RjlO7AiEAgxM3fHakxNFoyYBe8J7Oa+d/rUH150JbBNVHGtXSQi0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-rc.3_1642098677171_0.8567113749760782"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.4":{"name":"ipfs-grpc-client","version":"0.9.1-rc.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-rc.4+902e887e","ipfs-core-utils":"^0.13.1-rc.4+902e887e","ipfs-grpc-protocol":"^0.5.6-rc.4+902e887e","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"902e887e1acac87f607324fa7cb5ad4b14aefcf3","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-rc.4","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-FtnspfPuouK0qfzWrJf6+6XAJAsYXfdlGWPtZiKYIELVlSuJwKjcQ2L/YlKaU9V6gHjxk69/VDDQ+nDuvpgmlQ==","shasum":"740af3b6ace65fa56e9b1c8a3167a51dcc0c8e2a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-rc.4.tgz","fileCount":75,"unpackedSize":219032,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6XEaCRA9TVsSAnZWagAA6I8QAJ95e6Lob/+Az3EAI6wJ\nsGq4/33gIi8ALIKo/HK8tgmafxJU3sxVg3cHOGIsj8m1CCTZp3sT9Dds4hIi\nU/GV5HbggTRAvximuNi94CkQu6vLqf6nnqk4EwHfrk5x/lZqywKXA2u9Moqq\nsh9nXYPOonad2ZTl3sbZhduZqkbQtk/GsyDTFkJLDlb9vWOZmzRb+wIo6WvC\nuHAnPi7gK93l7r5TOGMmKQNv6VOVmo44Vu5Qf7NYokskpKd1A1DGFHufgcjs\nqaC8ASdaJTktZawumeNFO6DnjoY2nmyA7pont/bSKxh18FdSuWhMIhJ0VoFB\nRymSCX9E33JMr51ajNMSb1MXjlJQh797uNzB2r1wfAxZoyQZACgw6+HDIZW3\nFtAuml5rRM62ZqMDF9DblQwbcJa/apfRvD8uEU4Ci4+fQHT3l4aNJ5DRTx6i\niAb542O+MnnbgagZ3uZJa27WH288XfkwBGO1+x7lKJkLznrdYCWBzw3hcPZm\nCOLjyspQ52z8kIPMgyBa7cf2ioh/r2x4gNH1Gv7/n/t3XuE7Uncmp289UM9R\nsqDVe+DRfz46TgYlHDqzQhvJkdUhMZSxpx4JnCKrV/IMrA88swx9TBcqTW8Z\n5Vb+sz2/qSNyglje+aM/F24Gq8023fKTOZHZFiQ7nmA1Iz6gvHzfs4kwitVr\nC5G8\r\n=769S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTc/0Ov2bGy1+ObSnNbCYCyENJ2ayFLV1Pc+QiFXVODAIhAOHKFVUrti39YRv9GXwdtz4GbRqfQMcR3YRTeHEWncaQ"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-rc.4_1642688794623_0.3875440210338781"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-rc.5":{"name":"ipfs-grpc-client","version":"0.9.1-rc.5","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-rc.5+b9382bc5","ipfs-core-utils":"^0.13.1-rc.5+b9382bc5","ipfs-grpc-protocol":"^0.5.6-rc.5+b9382bc5","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"gitHead":"b9382bc5bc7341a2771a69b2386e5473b507caf1","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-rc.5","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-KeKjVC18CH0Vg/2ZSuMVd/1Qqbv8GPi6DaDPMF8QmCC9zZCVM0v51tu1biZM/SmFSh+9FQwlJWNcbmzugOgLxQ==","shasum":"9d00acbdb55fd01e6c16f4654bff2088cd7410b0","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-rc.5.tgz","fileCount":75,"unpackedSize":219118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6tVCCRA9TVsSAnZWagAAIQsP/0fb+YLUWRYP1c/T8Ot+\nQMxIpgJXter5+WggcwcKpiNOotijkJ8yBr+oqngN480rhwk99YkvcTaZH45J\nRalnj94cVCeiidt6CCP9ZATZmxqpY4gOYkaO/PdrbHfgcioHtGybmBsugOKO\n/j+7NjV25Z9wXDqeZ1qGfaZtZm7/1lf1YRrujRm5ZQPZJ/RqmIyY12jYcwFl\n2SlPKoYCh1mNs19FPvjKt6yfKlLz0yc9VH3O1eYkfKfnJCNOFZLuHisyMhgV\nAHLao6hbkIMBaQA/MOFEsStM0r48lsj9UEohOcdixdMi/wfSXLwVowox5Uuq\nh7JqSPS1BZ8oy6fFav8UuLyk2QOCjIVbYE4rgPMebbGl2BKZyg0u0M4iJUiE\nHuWKi5WSP9RBTDnW/i8QHxLVsL7HrilBx9HtpU0KlQBeNp6eBNGR+DMvS3nB\nDMhwHI3F+9lugj/cDWFydMk7u9qFPGhysxHOeg4DpoQHHGrC/nd4BNSvzsrh\nSEGQEoyWq7JUWFL+niB/GwuI5zv8U8Ezw5efmsIpIM5RCT25CYgSUnGhHXvu\nASUqvFKZXH9KggwPPB8+b0yNdieMicuW4RJG+8SiWggPR/GmdR5wE+t2jSIM\ny8dgYxsIzDVn3Sj+sa3ht01/0wasd+os1WoKWm0DgLEk/uTnRdUqhl5f6L8h\n/Xpo\r\n=sZXs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtnCMx7IBiKMtqgXTNBJAfRy4uY2hGQxu7r/SxrkkpWwIgARy+7cdATTRm7+FBFo4dfvtT4yXfrHpREejn9waNW2o="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-rc.5_1642779970535_0.6343128081667246"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-7fe0da57f.0":{"name":"ipfs-grpc-client","version":"0.9.1-7fe0da57f.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-7fe0da57f.0","ipfs-core-utils":"^0.13.1-7fe0da57f.0","ipfs-grpc-protocol":"^0.5.6-7fe0da57f.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-7fe0da57f.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (darwin)","dist":{"integrity":"sha512-JWLLp2Qg2uh++UaB5CYbqShMW98ZqzAYCr90EAgmg//pR2mxoXfhGa9gQ++z4Hc5YZE2OnKaPn4J2VxMAZuF0A==","shasum":"8f6c9a32582081d60496d5e7349ac728c34ec877","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-7fe0da57f.0.tgz","fileCount":75,"unpackedSize":219264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8TsKCRA9TVsSAnZWagAAqCsP/1T7f+Eji01LOeWqg5lf\nlXma9cjSb0lqPolL7lXAl4f4WNfjDph/P6bb12SFF71UUfDiYnzM5BVo24yu\n+Uo908xQlcQu8+Q93jz2Bk9tV6Lo8GMsNS2aoQr0yuzO6jz3v/2A7Vzn3/pN\nntf9NxAAbV0kXTJaBclH9gmHzxWdhXHh6d7FP827phpTbUL8lnMZ17ajK/nq\nNZeiQkBig4nxqD9vGLTzPVSfxqQFs0H+0sw1wPaM9de0qms6KpiChhK9Ue5P\ny+StK95Az/yGJWwX11T3yFGJ1veLGeLuKiui8mgnSbjbyZZEjBcg42rZ7MZY\n7Xl0821igbCpJRfb41waYG1uB4HNFkcxeCxrNzCrgn0vb46PGeEq1dgTMXG7\n/BhQynQpU4/Phji8dcWu1EuXN8VKY8207XWzgcmMcTAiKoLrEvcl3KzLfeDL\njKkA2gcOmKEdbzdjuNrOcranJSKjfxpFbKcULcbt9cFUKY06s2lwLe2NCq/c\nCdR8+uOCwg6P+w761ybBxn/yoyVQYxHG/2ZpNmzkXarBvFk7Jf9M+gJSJaYA\n/Lffv4FaXn4TyNXWZwF57ThWg2cNND/mxzClFNvK3mIzR77DlWdwopngW79g\nmPLeLlcyfk9E/kWzJ/u1cCFyA33nd4Ag0u/gt600wjseeuHsJCUUk+ofSKyb\nSfuS\r\n=NbPy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOc3p5PkmJf8RYyB48TLVnTxRC5jwqvaMswNExhwIdHgIgC+xxcTzoXMOCG/uMKikM4dxj9CvapllxPanDWmW4JRU="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-7fe0da57f.0_1643199242168_0.7466372044642775"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-5439a0e.0":{"name":"ipfs-grpc-client","version":"0.9.1-5439a0e.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-5439a0e.0","ipfs-core-utils":"^0.13.1-5439a0e.0","ipfs-grpc-protocol":"^0.5.6-5439a0e.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-5439a0e.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-rb0/v3n/w7veGotNGG3iMGbgwWZKElg+zzPS4SQPEG8fftL/KoZ/modd8S5V0MoU9k0fhgtCkGznJFWRdfCfRQ==","shasum":"a0ad6bb04668cef590fe6c4306e51f8114cfc618","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-5439a0e.0.tgz","fileCount":75,"unpackedSize":219256,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8UeWCRA9TVsSAnZWagAAFgQP/0Ee+bFnA9XnFfHIekLb\nwpVBybA+odaWganQa2VCQpDDcEEW2ciW2iGRIsI1p4mMORmktqJs2HtONDzg\nmwSr2annStHPETu5GzPK2pSVLtQjvVv6un7Jah4Kt6SjRi95hJt9vsVOyN8v\n+eSq4Mc+O+kTt35xU5nHqL2nqgIDlq2+FTPhBc8IfaMjhJHKiuU7T4m+3Ri8\nyRK12uiY46UC4QdRk/RiHMAOH5RMCUxd6X9k5Q+ehi/FLGIz5YK048lwtGuo\nXsryJ44KyOTVa2A+++z1M+e0rEtkUJH6DVoht9Ym00P1j6QNH5YOFOupLi04\npzctlLA6CVbv+Rh37FLHec/hyIq6xirr1OnMDz8hD0FBKqNRAtKE/eS3F8Cy\nI1MYHKFu57XcnO12IabNudoGUsM3A8FLaNZYBBMXbRjCHX7ExF//ldzvEwha\nzX2N0i4mBinXu66XRbxMvlWQWvW7NnA36ENhqmGIifMl7Z/+1zOi7toUdupA\n2Rvomv8TCzAb1aEwcghP1PtEyocSAFdM4yFvlxS+rXxbMAZKSZk/vYweVb4G\nmwxQ2riOLa4Ziwc3+bpdKZIVY4a5dMEvpMVdCmDsu7IQRy56ZLw09XD7KBmU\nn0Olbc9tXRnwaDPeCeGQO773wb8737hpZYLvA55hOKcqeX9ArsqJOJuy4qTH\nBx40\r\n=8zG+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTH4e7iA+9DqKwxcOFfGtD8g41OP0PDu3bHyLUrKDFewIhAIa+b2b6rXpjoV6qOv0NdsNhcp8T782tlfm8j24dq2w0"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-5439a0e.0_1643202453884_0.8555170750238685"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-a6b201af.0":{"name":"ipfs-grpc-client","version":"0.9.1-a6b201af.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-a6b201af.0","ipfs-core-utils":"^0.13.1-a6b201af.0","ipfs-grpc-protocol":"^0.5.6-a6b201af.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-a6b201af.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-oS32Kw/T/0/B7DI6G6VdGvE+wGfSCjDYsA4zLPwqV6MUhwq/CrlQb093xekayC7tAlNHFvBTrFObgPlzc+ECfQ==","shasum":"818afdaba1b3b151316771b9ab239569c7236739","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-a6b201af.0.tgz","fileCount":75,"unpackedSize":219260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8rw1CRA9TVsSAnZWagAAi+MP/3rzaUr4Kqni7Lo/yKdQ\noyZzHRmrhM0QkCuYwUd1jruM9NcR0b+k9hr60JtM2hSy7n7jqugAgMxKJ/zk\nGzli2fwaIl1w6tRKwVcfFrqAOgTNXjt6HUB3MRRDqmEPGJMHPQheTRxluJHe\nw83IHmrSWeQSVAi7UNqnsug7MsTRr+2WdnCdHqjAi7xbd3bS99ceY0qSlhme\n8hZwComdOb7hERqPOk1UJyEJABGA5ot84Nm/vSBMQ/aXnhq/ilSFCNGFFOZG\naWG7+cBtv9XAux27RM2sAAJQ6l02hGa8Ti3Hm4Ef2ArvM1IvwzdzEN0It/7a\nFJ9brxKu9nVAEpW+50jp+f/ZW7I5P0x7Bhq4HMqzGY+1c1MGRMmX/hlQXBw5\nu1HM7T4wUST7OR3kts6i0WHTGs9nq7RoaTCQRedmQxdaW4Z1alYxRquUVcg7\nzW33OVMG62ExW6T+9whLXr+plW43bUPJvIAFUZ5ncelEzfYxH+qGXe0SFxmP\n97avbOKMf9KMsh57MpMbHJngb3LF60vnFG4bK/epsxD9y/VydtOZibwjOgft\nKtmdXoBZMeVFPEM++MB0k4t7F1473Q1smTqvxgLEkQrEOty7EyAo0aGqJ8FA\nB/HAclebpmyqn88xoFMcgmy4xmoOsb2YclfHS1KdJ9zpkf38a3t219whNsz3\nDduM\r\n=oeY9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC35pT3Gz/P/2CVDlG/p/PV/Venh6/Xtr2adpGfBa+PSwIhAPlrpwT5lFf88J0E5cca6BznRw2Oome/fCk+F8xnG+BV"}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-a6b201af.0_1643297845159_0.5372529572880766"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-fbe14923.0":{"name":"ipfs-grpc-client","version":"0.9.1-fbe14923.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-fbe14923.0","ipfs-core-utils":"^0.13.1-fbe14923.0","ipfs-grpc-protocol":"^0.5.6-fbe14923.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-fbe14923.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-8n1HpXVJ8N5SfzYGKqZgziKUpnsswU6KBBmV+Nlbo4D2mf4rxJBebAVmaUfFm7SRzk5Zr0oCWHrH7TEvEX4kdA==","shasum":"afd90160b484da9b6ffe0a889e63bc01a79e3407","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-fbe14923.0.tgz","fileCount":75,"unpackedSize":219260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8uG4CRA9TVsSAnZWagAAwggP/RoU0oVGzUepJbNRuAmO\nsQ+iX2bQ+thyEBJgW6s/IuLqLQcdK50gfP1OfZW7I55Dg2O6KO9pqVA2piiI\ntS43V1BGr6ju42eSMMZf0ziPotlTNcK1LRILJx9HfwlYw1ghGiZh+fRKx1sM\nneLl0fsvtYlhtGS6tEXrZ+T0w02CxWo2T421+MuLx7QS5SQR+h9oY0wfDYg2\nvBipjix/p3Xvi3agistf3CMIanIj0wA8idlruC/bpz2Z1Jeun2ZbHI3grKxF\nuJWFtc3Jm3Dk9sXsNMQS3HvNnRJGoHXvZQHVc237LqxKzc8A2tupfe997Ey+\nSEAROMy7ABLSzJtQijP5N3NmDsYeuptQCR1LDB1EnL8w4ff4QctiWNj0tvYk\nXIt16iKW9GcXv0ykbcZ/D18LLBUISZMBtwolo9wdGM+s7KgxztMr2Dwzmjx5\nCDpbMilFz88w+zIT77qiPUeSccEVKnlOWkfUu4+x911RAyzvCWllz2qE/AW8\n6vDWifQYmgeORdlC2iwFkXVjJ/FQv35sRlkW9Zg99CHkWUwj0jTW5zJ43WTa\nKgMd7o+PGOfk9X4cdtisuMmOMNo0gd+LW/IctbCktr6f6lyZn5QQj7oaBq3h\neu9OH2g0menwp3ZqXtSvnq+/FxyG3LFvx3d0xY6Ib2G2Q061wJ2NfUkHKYKK\n07k9\r\n=XLca\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCybH1PZ7rxle/C6KInTB5mODWrXzMZXGbceWYumcEb1AIgOgW/rj0AhmiEm4Ru5bXk0iIsHgVQdNfIbUOwcF4At4A="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-fbe14923.0_1643307447936_0.47584353247291955"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-6cb3a87e.0":{"name":"ipfs-grpc-client","version":"0.9.1-6cb3a87e.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-6cb3a87e.0","ipfs-core-utils":"^0.13.1-6cb3a87e.0","ipfs-grpc-protocol":"^0.5.6-6cb3a87e.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-6cb3a87e.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-oMO9TysqQcp88HEAqScTDM2WzNvGdzDwO4y5LVungZirNwWpwN8KN10VPtaXO/MR0K2Sx8WeM6gMVdJGK8hC7g==","shasum":"5f0974358ef4d69335346875d09f91864b503278","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-6cb3a87e.0.tgz","fileCount":75,"unpackedSize":219260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8u6kCRA9TVsSAnZWagAA+z8QAIbVcQ/YWzpOw0XKAYSe\nMEMF3vm5QngBqDN78UlnWOnaNnk+rLvUsbby7ABd9pHRk/YZQiwU5mIS/RGq\n+htkxEwVP6wj+cYQvE7oBXqvC5R8urxCqo2kPAbY9JF6QdT9nfPZk/J85859\nqiQr+myjfgDfmImaRQ2itcGZjxRhGkr8PFI9VZH1Nt9ViVtOqDrqKMpyR5d4\nH4ry3RI+zQUAgGjJfOYMuFtvOjqYkQiOmlJk5CL2HUT5pv4bdkpjuJR/BRl/\nEIqt5P+5kyTt0FsiZzqaUvAvs3DZpSIpyzgYPwviBgSZB7SbsrB087VCA1Tb\nv0epREX57VhhWvZTwWd72tbd1nQV/AJs8NzZ6LOje/nD9q+J75G9Pq8pTrgF\nwnUTAslUtwgYo5faQL/ZljUgLJwEh5mVNrtRt4QF3RWF1uouf3DsTePjGQPN\nsYotiJm+GnKfr1nE+27TYKsMnGT6YgiEwavJ+auKzdJcxailtWIaDMGjtUnm\nbz9bsqSXgnmll7Qn/xEp+dAEJi8DrkUkbmuUJl/9Vwt1DKNUQ/F/ZCA7Oxsx\nvLxRlLslaS8vimi8TSnVlwIsYmr+35h0NmqXX2r5tiwWGyLyp379sPKUZVuL\nI57WFVZ07Igw8ngnAsdAanAUWjQz1f6bZZvUG5Wjefndp61lBmnWa/Qr0dzM\nwWmc\r\n=XRTy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHPjYHlrnNlCfF5Vv3Degbu9d5xpe//E47Ywvt8Hk2mhAiEAgXvTua9vXtPy4N8jO/042xfPde6FUQ0UQD64c9izfT0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-6cb3a87e.0_1643310756129_0.6732381483373724"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-2afef2eb.0":{"name":"ipfs-grpc-client","version":"0.9.2-2afef2eb.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","leadMaintainer":"Alex Potsides <alex@achingbrain.net>","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.1-2afef2eb.0","ipfs-core-utils":"^0.14.1-2afef2eb.0","ipfs-grpc-protocol":"^0.5.6-2afef2eb.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.2-2afef2eb.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-BTfnfPPb9YgRl7p5MRcHC+GpI+lH3mi7t4HyipIXkSHc86VYm/q1fWmy6FQbX9Psla8zq+FoqqiFyRynqDdjQg==","shasum":"fbe776946c49dae157a621fa6d6fc63dd844f084","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.2-2afef2eb.0.tgz","fileCount":75,"unpackedSize":219261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8vvZCRA9TVsSAnZWagAAmJQP/1pVEpF4GF7X2Ma91/wY\nCJXsfjgH8fKH1QbT1dSXfSOfyqIszzPYDap1hjuMr3aSq7UWxN0smi12aMIh\nyZkf7H16o+PFScSgksJhfE+1zFgNygK5jIGnmh6YwfMMTynPi3pIrt+CYQku\nwJWEkaif6k6sxyWhgLUIcV5+/ECvV47UD16vU7wnw9JenZmL+rN7GG3Ig/ND\nK9fOsPS9wSsuT/WVdtlTIo7ZrBBjx4s6WZTWde52oeM6lePkvNfJ/wmiZMQk\nf19oO6Mr81cBTNJ2zcOr4WTkmNRElM+Aze5HE0bQEAQK69ZpjnLrlvLbSlXz\n0m6gxu6imFtf0dj1SNwbSTsuJWdXB0aVmOrNSsFk4IuG319ajSeZ4OjCmZ6h\nsfsTzMMFj8PVcJlJMhEpcEAYeAyPFW7IVb9CXzeMnsf+oUxtl0lGhd+P0YRa\nDhtjgctCAxEO5yD2Nw0opofC+r3Gk3ffgk+JX0yPfOqCo1eB28RqLB89lyLO\nPqj/mCLJBCN6RWK/z5Ru+SERp+KoBd54X8gKh6jWV+7UURfkHYY+dPJQ5hPk\nznm9JNxMCuzWOU0iva82ajjzxOOdcSnAzw93ovaHvH6efzcdyDaIfCshiLCu\n6nIcve/C85/F8XRlTz/OLsr15+4UNlGsoF6d9EOTYl0Jdu2pSphxxGc9BEqB\nfJUj\r\n=1h9A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtJwSVW6EVxxRpsg6Djiqbr7oY6uukNA98/gIXljF/DAiA4csWDg7HqheecilkC1kMwStjhR1DcxMsofQoH1WGVkQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.2-2afef2eb.0_1643314137081_0.6778968521697062"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-3a5d61d4.0":{"name":"ipfs-grpc-client","version":"0.9.2-3a5d61d4.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.1-3a5d61d4.0","ipfs-core-utils":"^0.14.1-3a5d61d4.0","ipfs-grpc-protocol":"^0.5.6-3a5d61d4.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.2-3a5d61d4.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-vpgSMVjfYUUEGz7weGerdqBa3woxV9I4u7+cnEHn/ewS2WWFIv35C3/ATri2lCMEde5jap+GRJUkDgSORjIzCA==","shasum":"73402651f0d7766e937fdd6480cdfc8bd3904cde","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.2-3a5d61d4.0.tgz","fileCount":75,"unpackedSize":219201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8w+0CRA9TVsSAnZWagAAF6MP/3Xkpymg81dtfnVsYlZb\nMYYQAe/Dcebqfn5ugPfexob+AJqQFwlsBLkiRLmSG0lEDo3t27AEiCrHCYAd\nMpt8qGKbxuZUokGxqqL+d3RsJxBF2uKt6/SWo6PLgQwh0Xr8Dn9s92t7iiZ3\nCpy5cKUahX5delK1c6rRoS3c2ekZJ+TQ6/Z6ewZ/YzF9gHC4X0EKAB2fD++G\nyFFA3JaXYbu+bGY2k5gLXbJ1f6fjIh1vczDQTY5wNpdZcYeXDxjRe3eNS9Lk\nP5guUKNH+DdQN65LWHYlvvvE838lkdeP/+bG0r0p6OsuI2Hd/mb+k8Epw+8g\nJnTZby75aICOWNSWW3OTTxdc5isqYFyC8eiQt+FsyhFyI4L3WStvQvT7uu3B\noeGygGGgomDQUrSepHBah1YryIs9IkmaavtVKnsl7d2ppG6XdsKOEtzDzAeZ\nh3rWVMeJCWVT9FBvw1FVp6TXtIhynSw1SKsM3IetTjQQkA9SkuqUeo3iovdU\nt16XgNjhWqDTwxNyFE6FAg8wsYXJOzqn+JXzY5Q2feuv51grs05Z4h8ORGsB\nvYsL+mk/kqdo4J4vG65IFZnKMguC+dc/gxHGyvt12WsfdTqSmzqG02Qo/cTU\nIO9jPMqhc2XkQYyUVPqsqkP8+wHHm5HCL7IqOm7lkVmD5LOVqfp+HJR/1D16\n5LHx\r\n=Dt25\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICjfVPzu+LTeiQKoM+Gx/hxARogiMpDYklywS5rGggboAiBk8bHg1B2IB2+jlHiPHvL3nsWgkwaGjX1xHhuyljT3ow=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.2-3a5d61d4.0_1643319219871_0.22520696109732619"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1-cca6e321.0":{"name":"ipfs-grpc-client","version":"0.9.1-cca6e321.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.9.1-cca6e321.0","ipfs-core-utils":"^0.13.1-cca6e321.0","ipfs-grpc-protocol":"^0.5.6-cca6e321.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.1-cca6e321.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-OuoTkf6GiJJ1ACEbDf+uZ8ijiR2GV17uIUDfZpujKxDSv/dhSVPqUeg2JzX1skOQ/62E6yFTXlT/djcCBuPskA==","shasum":"410b2392104406c4a5a18a222c4982e5c4b0486b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1-cca6e321.0.tgz","fileCount":75,"unpackedSize":219200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8yTSCRA9TVsSAnZWagAAZFwP/AoS/j873u/Y6NN1E8ib\nGpP5jmYjnHbiyz0yRuE1X9uTWgmHD/cEA7uXrZXL2kYj1kFp2u0A8g7xWXDd\nSax4/8vsaYq2F7rQHG89SihWSpPfJllnCQDsVVPSC8QTZjXEpiFNADdpsEBH\nMsct/F1Ev3F3KO9xPLa4lo4CiXu8kbYvfdsgErOmEvawQsU+z+YlkG+JFDJs\nZvngyN8+mQrmRKjo1cLTySNHyvdrvaAWn/7tcskX55YNhJtyj9Q76MQuAMus\nK/D54zaKgau1rxNP1/4CE2FiJ8rQU2ouwVgxMCKainxrYCxcPBEALcK5+D1E\nQ0XiaZrBVYwpthG2FA1NKW/DNsSUGlRph+GTxqnPX3oh3IXrIMvRgIPL+3mP\nF5Gwuc2P3PXXDoc0bYGfgJzEv3tDXqTkVPFCvPOvxabEN5jpCwwVqVVllzoX\nC7LUdhxf4I4KeUPxZCha52dBE0d/DlXLNLdQxmMGIZRJAzHM0vC9/1phpZJj\n62Kn6PZyOFwKs3guWg/8qgeXYEj45RGbBfI7YoXwUf+3rfmKb/jYRHNaDTAm\n838mKrHel1LlClQskLeoH45EC0hQl+Di/dS1tc3SpT1A+Izy2DBjErYA/w8R\nkflQhP+v/pHbld4rjw7lxc7vAG72FtqwGt2NL4zS4E+KB0XVF4HCmdpP4XkA\nOHIj\r\n=nLZs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFSsw5W+EwC59A9sMBIkYHyqBAFJAVL/BT6MGmjVdQRDAiAIck3r7k5b95ADYp90L0QVhY0M2G2HBSeXr5LcDyuXGQ=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1-cca6e321.0_1643324626519_0.1907580590098339"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.1":{"name":"ipfs-grpc-client","version":"0.9.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.0","ipfs-core-utils":"^0.14.0","ipfs-grpc-protocol":"^0.5.5","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"_id":"ipfs-grpc-client@0.9.1","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-EwmFscQ7aWQAMVYUPxGHBtMLHj2wlXIKSWMmJ8M3ttyYmgBkrlqVjkZXQFHsQbs3VcgRX1vZEOrh3JDO/GLacA==","shasum":"b42abf3954866ce08657a9ccae0491b8f072419b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.1.tgz","fileCount":75,"unpackedSize":219157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8ygaCRA9TVsSAnZWagAAKKkP/jORYpYRFCINtxTUsb2m\nXuQJmcA6Hks8ykFx60IKtZBR4RWNgSeK87/XAuryQmAMjb82r3m1JwEzAw8K\nrIqvo4W5V1XtRIWG6ugTDmXCplHjXcstgL2LaaRVOZN/YP3Wb+BednHNlzGq\nI8JML0Rd/yy6ElMnQdEK6nW2McGbsJRZm2BpF0SOwmXk/5MMxs3zI1vtv51r\nsihroNRyV0A3wOm5CHaxtmhvj8vZud05K3D0XqIiPI3/HM0x0b6MBrxJ5Kg0\nQCHghYWTHaMMMOL5XvM1GroxRv9wMLVEd0N94B6ecL0TSn3iWBzRPVQT63eQ\n1D0RDZA83ZSvJ1kcF+wylXfRkmW8SdA4afmxepVzBFL6TCJFVMk0yk4DgoPa\n1FLIpZcN5d3FMg4k5pAXa7hhuP5wNfevkP+IMRwiVOZOkxfx0XD6TEngTCJf\nCeRR5IFFe1teyatMauf/iReI0UTnAf73IuNxjonl9JpUBlyEWhYQPJFIkjVH\nTo8BXG3KNyZ5faU2JnEH/L6/fHP7kPT9ufeFu5eaBh/Fx3c3H0XrAHPcu9nI\nBo9aRBxQ24GcQwkTmcHNIn9xHXxK9bEMWqUABtIexRMrLRoNB5lku/k0WQ4d\nhwY4GtQDZ+Tbe8E27dokoZfRs5BVNK971QOPfALdt5J5xgQ3ZnKT2TadWjsM\n2+g1\r\n=U66J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzI4diNz/oRgAwHUrm6sa2SegfTk18Yv91dBLqj6OkbAiAdFvBg0bgOWUAdqmt73jQWk5n5CRassloPYN9NMth8kA=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.1_1643325465946_0.8724641124727082"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-8d260215.0":{"name":"ipfs-grpc-client","version":"0.9.2-8d260215.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.1-8d260215.0","ipfs-core-utils":"^0.14.1-8d260215.0","ipfs-grpc-protocol":"^0.5.6-8d260215.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.2-8d260215.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-8xGyLRU49j2DXzgwQw8exgx1KT4kaaYDnpuiD4XReVsK1fpDzS47dAFDH3M3llyo1EwNsoL1PHu5t3OuWaDggA==","shasum":"c5f30076029e87488cd7bdf0978108d07e1f1b20","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.2-8d260215.0.tgz","fileCount":75,"unpackedSize":219201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8zBbCRA9TVsSAnZWagAApRoQAJiaiBxQKXdn8YxIHLbt\nFWBQkWdo9KjVYUVHUf1um9QpJh0LMODmh+LJbah7ecezT8D6Ad/1QejOvlzF\nNlBXCOm+8dGO7tymUU7AElieUYN//5c7PX74N3SEZpktMuvZO0evjJuTjvM/\nt14b9kxwF7vYdOI1RxinHw7SRkhXHr4AXWgxatGJCBMerYgKWOQoF7zBLFCN\n6OppefIUwzo3aa7UdvP1lj+AjBe/poE9eyAnEimv0Lruoc8kc8g0boEHIBAf\nHcNOVouwkFtE6Qpeb4QamkW861BZRsVmT93atM0KlFp8A4E9rEdByRrJAUjS\nDWNTbGGWQsB8RCVjPTD1KbHv9AIcBkcUv5GmgJHSfF4q020bu8Swf81VdPAG\nRXO5JlyzyUfOpD35Pq/vQ+SeAyBBP/fgk42vcuGspJWJQx6ViLDE6IV1RIRb\n3s20YNH8YJ3ypkUf+aeL0y96/6ATuP4nz/XsRFdvkw1jxBLT/oaf9qwRrjBm\n1iyknbiss2AEfVoStIVb5T2kzqh24ZI/mgAvbobYMU2nX3hZI+86FameTlPf\narSxrgSA5cIl7VaKSYsGtbq+iO46dDSNiINdY604M/5vKUynaoiBC1cYmheK\n3ZzVnUn35/tTngckUQSEiSACttXByKV3VUHf/LA/CoDHOxIIQb7frtqMVR7h\n4Lbr\r\n=9+Z1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAI7pduzTIrcdxE01PnsONhymHDazkLrYiCsswpTnxmlAiAYAIic9XyHcTvpIBD2lolNgU85TyjK9DZZgzq+63+SSg=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.2-8d260215.0_1643327579700_0.832531559790205"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-2c8ec080.0":{"name":"ipfs-grpc-client","version":"0.9.2-2c8ec080.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.1-2c8ec080.0","ipfs-core-utils":"^0.14.1-2c8ec080.0","ipfs-grpc-protocol":"^0.5.6-2c8ec080.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.4.13","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.2-2c8ec080.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-wtld0jgCjE+75bSQr2tEryrQcuC7Ef+SZjwC3Wxz00LqSsGh+te6NvoRXj7GSm8Ql7yWn2c92kHNbKmq/qtx+A==","shasum":"1de5c8f372c07c5c3076519d8e11985a1293fae2","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.2-2c8ec080.0.tgz","fileCount":75,"unpackedSize":219201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9AQYCRA9TVsSAnZWagAAnH0P+wTWMIsmWdCSjNg/Be6t\nU04mbgVMNsmBpHbf44lgsTbBR7TssJBD5hkCbzYM6f9GeqOsVHbmsgWXYH50\ncxmnZkq8Lmo/dPCFL1jKAit8rwt5mChfMfe09rUdna49I5NhiijtH159dJOm\n6le3e7JCdHdlkctQkyOsCziqU69Sum7viG/izfqIULMNLnzc74kCPWY3DQRd\nOgZNhQx6ZWEYc4wnTSO7vnI0fRjFKLJPU7/it1JhoK1tJwxtssASFUBlyygU\nprftV5TQXRswlrjWviks4lZ/uzpZQ3dLvug57v3ytmrmzflmKkF+TtAnnf2w\n2pESXIFXZ+a95F/1aeVcHz/DkMkNSU6cDJ2QyfF5j9YGYj7kxVJAFGnZb0VB\n4Ztf+IE4kzFQTQk+BT5MNI4hORFApEE/ZHqr1LQnQR4ir15IWrIEw4xWlSpq\nWQc/DuvXtk1bpDkqsmKgHVIFkWGLRSKrva0gwWJ6aCxiVSBUGqGWVwYq+6gf\neO9nasP8yb3+AY6DVQtH2+fopcjkLc7vPyuhn9unw6ZVL7XorPKkLu1PRdRn\nOvkWU24HrTliXYORikz7UkPn0LMWGfBraUSO+aimfwcUX+5VLgHS+C6GvHzH\nyvLZY6KsGMN+xc1tsPbN4OhuFBaR5Znt+/RLAw2vpsWXNM6YagsYUBNwq9ON\nSaan\r\n=dgnP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEE1blFFR3hY9UdCuQ4lXow3GWEQLIad826un/hAZ3X0AiAdzb5EeJ5zqfOjlmfPjNOQZ4lTqDsBeTblkFZdupLu0w=="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.2-2c8ec080.0_1643381784419_0.9103098297665106"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-3a74c110.0":{"name":"ipfs-grpc-client","version":"0.9.2-3a74c110.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.1-3a74c110.0","ipfs-core-utils":"^0.14.1-3a74c110.0","ipfs-grpc-protocol":"^0.5.6-3a74c110.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.2-3a74c110.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-+77gGsehYDDt5+9jVs5SctUZutQgNgHs4OA3u9lhfsmVx2XxVvoBNnHmODTyWk+6MltzLDOt3W34P9wOxF+KZw==","shasum":"c3e7b4d776601d96e8d272ca98ee2168a5327388","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.2-3a74c110.0.tgz","fileCount":75,"unpackedSize":219200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/VGACRA9TVsSAnZWagAAiCoP/0yEOqGO9xRe7yWwkgcH\nnpSVWQB5v1vmCiccoFlUicQmylUzIB1vIcPqwmoIN1n+oDUah4qwuJJh1RaJ\njtBMA/1WE2gkFRPvFxBJIznfhEiIo53W3mJn5LRQf1nCbHQsJ7sPd+VLfKA4\ngVPY7J6y48ucv0y+DfuDGKe9WDVEgg4QKsoqdSqmyPVjVlvQYwnqZHFnHl1l\nnH6B5Aierhd6tPdumSz6IsOFXbtTvDoRAh5aPeDBsWzxu0bvohslRjFsi/k4\nlJD8gvV56XKYD0aY2QURFdqppTV3Kodu4MCx720h68SLNqENZrWPK33NWFV1\nagYvgaDeSsKaeTDCKuVTBJIUc+eFVZqAKdaN7KTbv1G79lAGSnaZ1XWur/Xb\noe0cvPMq3huhK03ddrdTdb3vkdDlo+QLkqIeLCS2Tv0n2UJIaQrxinzA5KjA\nPfOTr6NFJ1crma361ov6bf6sMJohsRpw5athaQClF8AeFKeoiqR6FFi8hwiP\nOF+UdslRGc6Zhjd0YClgGgEmEsUZELGv+/b3EIHXnVR4nXxd0FYcbeZGbtIu\nqJJs+SA/XiS3Qdq+gmJwcE2mi6oG5+bJX11/WM14joPgsUJEKG+d5XNjnN8L\ntlitPxQDB96fNLFQvZwXVzXd/iOVkkgp6Y5W5FLBO2CwgtEVMbVS1Uyh0aF8\nIJk2\r\n=uCnl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCv1g3ASW43EIGZNrBbEsUES+vLuWgHYuvyrCx+aNEC+QIgdU3M+nH+sVpd3lkcMKonCWVcmTJoC+3MQbb8v9wGjk8="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.2-3a74c110.0_1643991424307_0.8480919725150831"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-383dc07d.0":{"name":"ipfs-grpc-client","version":"0.9.2-383dc07d.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.1-383dc07d.0","ipfs-core-utils":"^0.14.1-383dc07d.0","ipfs-grpc-protocol":"^0.5.6-383dc07d.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.2-383dc07d.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-fMJ9/ivLMuCESVBKb2gGUuTaVw1Ct4Ht7tu85H6fS4gI2TnVG4cEFTtFl5Q9sIqJNSBUlnX0PD8aBKfCrVr5yg==","shasum":"303deca70e390a3357e2c333b35c5697e40ca903","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.2-383dc07d.0.tgz","fileCount":75,"unpackedSize":219200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/YUWCRA9TVsSAnZWagAAfacP/3ET4yB2xd1HR82+rmey\njaRabPkG01SyeqNqQaN3U+84FoQy4CUFBJt9EMO+LJDGRwJ7EPm8+N39Adpo\n6WGJEei77sWYvp6qD8cmZxfNgHT7UwcgKtZ55BHMmWGPXa0G5FS07RK2E3+z\nSnJKgAK7bnghP2EQuuzqx5N4XQLQKCWfZva5mdCOz2ed3LEnT1amqw6zbB1S\n+XjvpEZXYuZQx18Axs5vUGPES+ufQJMtm83fn+q0aE5vXj2lrMHcuGGmtDoc\n7q6yW+aLGg7u+kmWEecpV7+ozgJhOVpcTysNBZZ7myjC+OI+7iSCYOs8HIJ0\n/1xPIWvucbtd+MNSCRw9gvBiMZGHK1nLokAMZljLAmzQEFOMgwONyPjDFh0B\nXsx5XGMkbclQyo1VIld1w0hV9R6uKvbAgzWELxW+ggko5UVnKw6gBrkOlJg5\nC3jVX5wyYd/XuXrM4D+gb7Ous9p9BTrGzRDdG3ekxMKKQ6vriEAT7uzWaibg\n12eoUShF5F2x5rlyq3H+nHxSxYxk8pIv9tbSHTYts+yQGiALaGuaFh1V5BqM\n56WR/pLsAWaJnZOSNlconGcsqtnHtqI3OE6OIpmG+/dauNKlHOWWtXqrGZq9\nWtQO+Oy+hq2CdUWoZLe4KMhx6DYVvm/5xKBmBL9UJaW4BDFWuZ4jM/onAjnB\nGSSD\r\n=3d69\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3Q/SEfBQSE84Ob4VIvq6d6AjXl6gRjNol2X9zuhvjYgIgcK2PXni5Yd6g4YO0jenKLx2yFDn2JVQthTsDgMbxtQY="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.2-383dc07d.0_1644004630690_0.4590006347583484"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2-709831f6.0":{"name":"ipfs-grpc-client","version":"0.9.2-709831f6.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.1-709831f6.0","ipfs-core-utils":"^0.14.1-709831f6.0","ipfs-grpc-protocol":"^0.5.6-709831f6.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.2-709831f6.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-6aHbANH/0Wm1mbAXEuc1ObJG7dRV3BSph6TGiHvlPqtX6i7CUc9j9LjGEsdQGgV3VPfQ6/PGd6BJRUWQSH0peg==","shasum":"26acd5d2b8e360d8bc368bb48a0f5a5ffb9a1b40","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.2-709831f6.0.tgz","fileCount":75,"unpackedSize":219200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh//FMCRA9TVsSAnZWagAAbxoP/02cqYmrCM5XRS2jfaKR\n89TZc7zhExXHzgOq5chs9YIUxlCFkdr+ioZ5FnopXpe7qH96T6ng4qk9yVQs\nJS+CKzQR89yKEPzjs/dsKhD5au7QF6LMHu++1apPHwzEBe5Mbd8mr8oNT76Z\nxwe6OyZyZAHHzXkcPQknySTv6MFvDRKFSGntlLGvfxfwaJNIpVmMalRYm2pn\n48a5E5lehZhqrkXCDIU9twMO6sD7C1rnfadFXjmRgL6vzjxw/+KbwYG+53zF\nYSeiiEXscadPgTNrQChzhbHdELEnXmF1YgEnbiTLIDu01wgFm4Ct2lp6QPQ8\nZbL1XhcsE4Lf684/WzQWm1Pg50ForbU8+Mffq8UPKS8gHDY83OFH92GOQmi4\nQU+n7kxY5nZ3W3TGj7b4iciR8T8uwRSJWPanMghw3mri1AoKNTVMd1LJHpr5\ngioyzvzG4JC8ixGcvGhy0jGDrYvc3SlRL3lPPKk5+YLGcLhFCZL8LQQT2wLY\nr9jkIsyurstze7JpcVPUhqxjEc/4A0E8L7FQSZEmZXvJJOvhIb5txeoj8uY/\ngBaa9S79MTSX5CEUg6QFvQX8HwzOEnWjSyf1g1HOa8eIpymlwc+iNDFREjEN\nK1JCBsZ0kK1wKI6oOWLZeelPlx+95RJGdbJXN9kIqX/1CiwMxyi2eOkKTsLU\ne3kM\r\n=Rn6h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNXGPjFpXB60b9v1blcSTDZVVIaw1zxWNpcx11DyMuQwIgQ7oVApRcfRpTJtwZPFAFNGez5O1tcrAqYBKuFXMNhM0="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.2-709831f6.0_1644163404464_0.580429624921663"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.2":{"name":"ipfs-grpc-client","version":"0.9.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.1","ipfs-core-utils":"^0.14.1","ipfs-grpc-protocol":"^0.5.5","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"_id":"ipfs-grpc-client@0.9.2","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-R2Wc6Y+USIwKrBkrNoIgo+rv2Tfpk/DnYiWnofTDHvrs+Fvp2AoHqb6V6i2U6r2WpNcXkAR8ujsaD8h3khyUQw==","shasum":"f238c451fd9aa7f3e07b7a06ed6d8d8924969408","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.2.tgz","fileCount":76,"unpackedSize":221054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAU4SCRA9TVsSAnZWagAAebIP/2j/46h96U24KeKO4LKP\nOd+HJHHYDTb9K/ScehpCycDQ182oG0HNGKcrU+s5dX9zmYX8BTV/O20dV+nr\nvMshZWtGOWM1G7peJxXIi/jPrwHSmnb/2ERtzIW/1JsCF4JT/d57zI/gJDyL\nT98R2H136IPP/k4MhcANsq//KKS8a1v9nwj2C5U/uPvXHpoIsFwTDT9snIC4\n5r75AlJXAgONFFH81JlMXKxJ+EY4gh/3UJXsmbNSeEMZL5JvsB8+H1hws7aZ\nAtfdNX/vCVA7hDwWS+S2YWq1j/F1DtFNfr2is0BT5xpO5B4kmeSBP4xsCPkr\nHlbr4rFNNboaN6Ws2adSdTB/Kn+SUdVi96XAFZ5IB2CvnW93zXuGlybEo2wE\nPOQ9QFsqRDq5hI1AQruhC60kjG59q2rqbunP+WOXxTPxQaKbkd8/rYWoKpkM\nzmCrhqJv+T77SDnyB2nZbuz3zhq7k0OV5iwLkKtwEGJZwtPkkBlauXMmJP73\nm341+7jngqG6ASEqNYgaH3Rc5Abw6dF1PsEkH2mGXzf3OVBK6PKfuluImg/e\n0vpA0iW8dCUKtuydtLZsSvEM2hJO9sGgs6NtLclb3NsnB5X78lSiH2LZjsTE\nL0k88aXDDRbokeN/tX++Fq41xPUz0xlMF/VtVU5mHpUa16YPzzlL1nMxzado\nywyd\r\n=w5K9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHgYlU7odw+3IkRZrI6j5es2zuLzxLUY6k5gz89qpWMLAiEAs5U45RgQDti5Vu+0l3JVsQH5HUPuLZ9UBijon4ce/ZY="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.2_1644252690445_0.10043559108764732"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.3-1082fce9.0":{"name":"ipfs-grpc-client","version":"0.9.3-1082fce9.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.2-1082fce9.0","ipfs-core-utils":"^0.14.2-1082fce9.0","ipfs-grpc-protocol":"^0.5.6-1082fce9.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.3-1082fce9.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-lriAgvaXrfk17FsL5/ub8Pe7Jf7NOYhn+R88pXIA9t6GZkTBEGknSgKSs5rDYp1wF2ysvtiTIRUM7PmQ7DWsdg==","shasum":"6ce47ee1f99d8ab93fecb3de83d9a63bcd49579b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.3-1082fce9.0.tgz","fileCount":75,"unpackedSize":219200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD8YDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuPQ/+KxyzKtUhtkQLGdzl01Ns5OdgTZiKqJtIolr32igWz0QIMq3K\r\nMoilvHJg78D8OkdFfQLk9UqWsBMHHG3V9pjTQVAdH9yXfztupF9gCrFTJLvV\r\n3TaQtuBAq0MbXZvuCKY62VwYBJLIFB2Jpyr/f0WOQ8fjoEIjRmTCOaRYGmI7\r\nRRCE6WzVd9P5PIauaey3RnKF0iBfgdY4bkdbPpu1lKqH80Osfw4YeqJu5pWp\r\ni8+ju2cTmjErYRTUB+ZhNlzgUNMHyK/IqWj7ho9R+C4L1FrPqdarFiJHqHkl\r\nEuWq7qHf9U7Ygc/l89jnJQnnzge82oZOLwtkJuwuw4rKB9Ep8QeX7xQzppvZ\r\nUrzhUQYzsE8xOxBiIY5GwLMdJ7pTF+1clbbGEH6L8kKi9gXFOCw9pjYWND4j\r\nJGPfdfZSYHJpNuNS6/aCVz5645OsLagLuNal1jA4BGwyUMDvOohCeYYA8u0y\r\nvP+Rpl+OdAktfdo2MS09x6R81/Mq4ouSbLmpU0XUxRmwWPC4WdBItYRiZcMo\r\nhCDp8q6wMRNe866d0d2oHwSM5+mASIKq3TJF2X6ZT05Cu7VWdhdQJ1u4Q1nb\r\nvJsE7m2eHrGza/OqjvqB3XObGacgZ3ldRjEKw+GcA9FvVTCKj7ws1FwuUp5p\r\nrp96PPC8DePQVsrqiLGRqkzFiWyaazI+Jvs=\r\n=+GyF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBBZmXwTsvD/2KEmrq9NQc3u5Vkq85dm8pTGUAoOWLjgIgGzYsoy7MUD9TdpY8MMdlviatVDzbiSI9EsmAfFoza8g="}]},"_npmUser":{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.3-1082fce9.0_1645200899695_0.18346331390550819"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.3-125d42ba.0":{"name":"ipfs-grpc-client","version":"0.9.3-125d42ba.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.2-125d42ba.0","ipfs-core-utils":"^0.14.2-125d42ba.0","ipfs-grpc-protocol":"^0.5.6-125d42ba.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.3-125d42ba.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-Q3q7+PLecPbSCFyWAkOhTE9H3YJp0aYMm5a5A33j+PNPB1GIJLliimYxzyoz70JKEv9zb4x7J3HQLM9iYA1lug==","shasum":"24330832b1fc3a5150600a63ba3f9e7a0da1c90c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.3-125d42ba.0.tgz","fileCount":75,"unpackedSize":219200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHeuQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXfQ//ZPxw9edFEdY6gqelrY20DhOD1+dJJ1ye+cFMDVSCu0egPCKn\r\nBYKYn8ry32XJsaWNpW55j+OzjmAISE4menFCB19RezF1MjMrdmmTdM5IhqXC\r\nmkbkwYruU7iBeg7tFTPynLVm0t+Gsl5j2IpQXXr0pUxHl61u1o0fui6X8HOd\r\n0TtXTo2nG2J5egCw06kP3K7bKf8wVkDeV07a4HceM3euB9zzzgE5TXhio24V\r\nQDTM7TGTeSoskI70NeZfJfnTirz7Etk8YXf0wtcFYfcrJ5fIm58WEGb9RedX\r\nGgvCPIeMBGWGRRzgKLguMpj+bj+4OlEMPuHYAH1dkatYjx8/u/1oNdlJ/Uqb\r\npMwj+Vh1FzL9bDJ7usT7GHNGuCoFzHMRaQ1pBwriyYtBzBn8GmK/Cu8mj0SD\r\nrwF8WmaVXu5khc6vmb5vux3D1EfVYPDpesk4fc5+L4mZplPPFV2URzxOcNgY\r\n5BakQcrhgm1cd8MmABYmPddid0A4RzTlnTi1R/4dzHFE2b0/XayHvgL+TAy7\r\nWRBxZwqy3wJJwVcpAQHLu44ggs7QqiH2zBUKXvGoo3YKRlV3uZbQQ55W/GJw\r\nff5mj+CE7DkoshwLH2qeRzV/If+pjm6kMRO4B8lkLsbshP1Sx/thmX5xTWqP\r\nM7Bm0QWWaupTuV70oXJBSd3YU5lu+97GbHc=\r\n=mba0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVSEiYsdalt7lwyL6UhdJlwZKAzW28dcL3tWCWpvl7aQIgGnN/Eth05xPT8232iIQbnZ+hZERo0Tpsr+lwaZroTok="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.3-125d42ba.0_1646128016493_0.8947473630276426"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.3-df1bd1bb.0":{"name":"ipfs-grpc-client","version":"0.9.3-df1bd1bb.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.2-df1bd1bb.0","ipfs-core-utils":"^0.14.2-df1bd1bb.0","ipfs-grpc-protocol":"^0.5.6-df1bd1bb.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.3-df1bd1bb.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-r0pV4pe3Gseh5/aK74S/tYTh96NkqWLtdEDx8zV0yvMVi0+Kk7omoPe9qFWYr54mMgmBaAsh11JYXFZ+oo+9+Q==","shasum":"85e29417156176681d3b4e80af5b42ef7c54c4e3","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.3-df1bd1bb.0.tgz","fileCount":75,"unpackedSize":219200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHf9QACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGOg/5AFFk/EO7a2cM3QvPqCUGN6j6bKuXuPw0cB/tCXnhk2JJJCCq\r\nwZvzoHKbY/rLvBBRNCliL8TIfx8YRPcLywsI98Mn94fZn8wJacvqZiUf5ZMu\r\nLEjPomOmii/V9wPh4erkIucpuQCkmr3oTTaCdZCkQA1ltxZrAuhHknfcdeQO\r\n6CyKSh6QNlSNgyX1SkuLoXOlSy7ohM3NLSXcKjkl/ww9r/wTfDoLVehneNdW\r\n16VBnMaAObVPb9RmCqeELFW8ka2PV1KfAnd5dURRiwNPIypTGebYLgsIcWwT\r\nMW3RmNYjh3jLrDTk6uBbyphoMF1IlOCs4rGPcvvD8Btc9WQ6HC96Esyk9/vC\r\neElEVv/49mpsyGPVR8x7McW11TBOSR+xKKPu2crlW1IzIcjJ7c1mlVExPlr9\r\nw3o3eSHmLi8BOXCLp+VPBCJhELnN/6rcnXpSkMrTQwiOEYh10VNSy9e6Jz6j\r\nvablxlFwPuabNCmwywfzkY30+raeN2vBHusjcPdYdqr/tdUEQxDpQQ/i5Mll\r\nY/n8yvZdEOYl73H1GuHSiE7oZiYW4j7pYynqmt8VDnzQIA14PgmJJFrQfNUN\r\nJJXI8E9oC4wnnGUnjYlqEK5PelhccAPccBQX0hEFQ9eh1MLD5hVQuGslk1Q2\r\n07GVzJlEGxN7QUaXm2emUlNTs96b5K019KE=\r\n=GdKj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBU15BCneeMaQi8pdZjOHsERau5CcBvjTlHS4mHghQ9OAiEA+iboxB8OxrTXldw+YeMzcF3LEo7xN0mgbjE9fCz/Vw8="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.3-df1bd1bb.0_1646133071834_0.7130017476408619"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.3":{"name":"ipfs-grpc-client","version":"0.9.3","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.2","ipfs-core-utils":"^0.14.2","ipfs-grpc-protocol":"^0.5.5","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"_id":"ipfs-grpc-client@0.9.3","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-lje6KJOnak8boVzjLwMkSRAS6qrYfh6FoTfxVekK90yRXTjUvBXnLOixk4LD35aSANZKD4YfBiTi97TjrroxGA==","shasum":"1c9d77895979a12606836b803c4ceb53cbe43c1b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.3.tgz","fileCount":75,"unpackedSize":219145,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICDnu/Y2JKumvzzZ6JziD6nn11RQaeRhPDVo3xOZsGmuAiEApXZqZtrMOIApDVRL1wuk6Sx0LayYOgQY/Svqs9RJm4s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTFvWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpeOg//bYp71gwmyeT8HgvjPTu8kmkLY/UPUeuUnBepMGTwucX9IWfh\r\natOt0XFDFB8NB4UMqBrYORuZB/2UqUBgzM7nS3aGs5st5Pr49T7gTo3fszOX\r\navhPax2irYunzkuz7cN+1ZBeALdqeAKTg3g96wqyh0Q6K6RnSG/WOUjIu535\r\nocXpzGvUhB/mTDxoGTL5O8iT2sJIgm58cyXCWDYijyMnuAhKeWN9HllQ3IIq\r\n5CzSlorzjgq80m6gk2qWJsaPFHkbkia8Gw625LU4VGouXbZatrqFpmOEouML\r\nc8VNgP/tooY2vDc+xegKx9YX2KiObzaHlineMD5R60Dzlh2+xlu/D+FxKri6\r\nBag+3bmbAPDN1B0O+FFrFQhCMP6l25g8svmA/2F/leT9qs5qF9VTAIpHVznq\r\nVI8nDYsDTmCKJxcX9HIIFKc6xs8/pnb5NdDoMvltuuqUg9dmoUsbYAWQHCW3\r\nWyM2xzfIBok/16Jm14NXcxuf0n7LZhcVyyvZiKoY8f8BxXiFVSBGBSr30DCy\r\nnWqxLu6cxMjCZDNF61C1gpfMEoJs5omMOKWKubGD2i15w6pzFhqgjVgrcwKC\r\n7f6fgqxYGECOqmFQbQxSgR3qHxNAb+j760IuH4lGgyqW7jTtTxF/5etmwide\r\n16U2X3K1CTwJThbmpe4MgMfGc4mzmTsBMRE=\r\n=10Nt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.3_1649171414751_0.0744600496975596"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.4-e90b8f13.0":{"name":"ipfs-grpc-client","version":"0.9.4-e90b8f13.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.3-e90b8f13.0","ipfs-core-utils":"^0.14.3-e90b8f13.0","ipfs-grpc-protocol":"^0.5.6-e90b8f13.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.4-e90b8f13.0","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-c1yCg2R6DXtYawgY216CT9wx31bjPG7mPEY2I1VUODkykOtyl2aWLZPYdy6LkzUOpzMYMOsOdRiSkVuebTSi+w==","shasum":"5efffcfc4b757df135457218849cb08136ce8dd5","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.4-e90b8f13.0.tgz","fileCount":75,"unpackedSize":219189,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqCLZlVamfGgV1jzw1yzJSgmRH73qfeBJuYbllB1KwAQIhALJ9zXuaOfVd8ejpw9RNRlKXY9Cvt0DokongnYAW2k6m"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTGncACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrqmhAAisVqICnxFLsHWLiXGNRvRC3aaw02I7dP5CAj/lts1yKkQP08\r\naRFHkUeHlPH+pYRj0GRDaSk3SXaZ8/GrxGwSWuaEmTl2VpSAAX9vBKjje1Ws\r\nNziNZ2+g1dMoyGH2nDtMj1aqH8+OlLeuYw7/0x+2S1vBNuDWRTkBiOA/cZig\r\nVlL6X1/2BORST+jgk51c33CNiTvv75LJC5WjdMp8HPzRm1/NLbXEL3789xtl\r\n36qT+xQtvaYpQSYOXYTZ5kf1QnC8Y7711b8LhKG6jXDT3JuHYAw+7/CnKbZd\r\nUT7d5xXqtofDbn8Q2W1wr1oVUthasqTtlUEv/iMs4INi0K/zO7CidzUUrJTQ\r\nmsZ9nQNBAkXCtzBCbBIPTXesX7Le7/BjenzFrcgiJgP6USxGfjJs72LViYgl\r\n7ocYN9BQGAOr+WEpFm35zjG+O3JoEpaBmW4STfySwcjFhq4rJj7YDzOelYr6\r\nHZeC3zeIcJg6CtQkkjZR+73nVh+xKtNLkIzuwvdcGiCoNguyO9B5jFJPOevL\r\naeJdIkOnb1DoWI7rR3g4KktJyjdj4A2JBNIZMKUZZVL/j55nrlybtG5rRpjB\r\nLYdgEZ09Gpj0LmSdfDYbPo9Dtd4ovzduH+fL15Db0y3UMh47yQd/WBfyNBL7\r\n+8abcz0K3ZE7d5qeAgfc6axyTvuLwQrKKi8=\r\n=r1ur\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.4-e90b8f13.0_1649175004392_0.8305679080269017"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.4-8f7ce23c.0":{"name":"ipfs-grpc-client","version":"0.9.4-8f7ce23c.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.3-8f7ce23c.0","ipfs-core-utils":"^0.14.3-8f7ce23c.0","ipfs-grpc-protocol":"^0.5.6-8f7ce23c.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.4-8f7ce23c.0","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-u18PfKmf7Bk2W4wBPGH7Vw+cEnK7vJE23gXJ2V0t9mjiTS9yexGNgAeBw4JBq4wQ+9VPbXA2kkVdASt95E48Eg==","shasum":"08d2ad41602b22b0be3072e2ecd4fecd8a69ece8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.4-8f7ce23c.0.tgz","fileCount":75,"unpackedSize":219189,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHETqxuikieAV5RbpBazka2QpI99+uI1qNxMTyKCHYEKAiEAt9mBD1iyYTLMxh3qWNwzp/uS+dVKVA/RrJIpCL6Z0ig="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX/8tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFtQ//bCr5VkLI0VUY7cHo/QE9oyjV3y17qlrcWVteIM0TLt70ZAEL\r\nrlYo84OeUiAJHjVdthrax5SUlvDXjSQNIC3I8TUIUT8xbYcY0ITzUGExQnzV\r\nfmkGExDy1jwwCVZVvNrX7Oowumm4eC6RPkVqDWf1QxMSNSRmE2tMTaTy960L\r\nsMsUgeLbj5BBlmlOZX5LXJ+ihzpGG8RvN24olU1rtPpCGnT/KCBG1S+Iq3QP\r\nB3JyHUpi9ul5pYDksqwZ+5BLs28Jn9ED1b0nZxSB39aZH+Jk1ulJrAasTL8z\r\nS/YtzxIzNs9rGYS9aq9WtJYOzKf4ZLiC6nAg5xRlE79MMs/01oiPwhpHc9uM\r\nrEj+l5wLS0J7rnzOil9GDQjLxi0b6M7UpQh9rYTG79vcuFHCddU7tfSezcFN\r\nnc/lu45ZKaHxDuoXuQm1OBKgIimh2caYTrvPjjjWR5KIpSFhZRW+xYaOvo9H\r\nfZqLqyAtYNHefUUCvmrYYp+1baYAshflW63WLGulzuPFAQgNDtiLsDUPMs26\r\n6Ks5vpmCN2cHEmnRFIJsI6q0HBkI8/Tv5N2G+sLP9LVzXq6MkqQFjXc/ZwYP\r\njvBJ/O1mX27SggQ1+mPVs3ScEcwAzJ56LO9uE0Qxw1bwhL0JBLjeBScMQrJW\r\n11rQsodLKWTsolRyRfZgNxp3Ntr8Q2Vuu70=\r\n=y0c+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.4-8f7ce23c.0_1650458413611_0.1283714134498235"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.4":{"name":"ipfs-grpc-client","version":"0.9.4","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","main":"./cjs/src/index.js","types":"types/src/index.d.ts","exports":{".":{"browser":"./esm/src/index.js","require":"./cjs/src/index.js","import":"./esm/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"publishConfig":{"directory":"dist"},"browser":{".":"./cjs/src/index.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir build --esm-tests && aegir test -t electron-main -f ./dist/cjs/node-test/*.spec.js","test:electron-renderer":"aegir build --esm-tests && aegir test -t electron-renderer -f ./dist/cjs/browser-test/*.spec.js","lint":"aegir ts -p check && aegir lint","clean":"rimraf ./dist","dep-check":"aegir dep-check -i aegir -i rimraf -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.14.0","change-case":"^4.1.1","debug":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.3","ipfs-core-utils":"^0.14.3","ipfs-grpc-protocol":"^0.5.5","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^1.4.2","multiaddr":"^10.0.0","multiformats":"^9.5.1","p-defer":"^3.0.0","protobufjs":"^6.10.2","wherearewe":"^1.0.0","ws":"^7.3.1"},"devDependencies":{"aegir":"^36.0.1","it-all":"^1.0.4","rimraf":"^3.0.2","sinon":"^12.0.01"},"_id":"ipfs-grpc-client@0.9.4","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-YWTNSs4HlxJSmoYqgZquPZKKvTpFMYHV959WBjAbvKTFOLX4Vp5YBfWYPoE/cxKPhsYEAKj8k9jhS29bHcSBUA==","shasum":"8b0988044f2722552ebfa3fa9b2919d5cb0adb19","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.4.tgz","fileCount":75,"unpackedSize":218681,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHuaAKSN8jLSLXCfnFBZq9STbpBlCbxMkEgLDPg7L/FvAiEAsucwzwJR3k7Vf4S94aoBY4mZnmAGh6DWeEBpL8LaCek="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ5juACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoq5A//VxMaXE2XzCzy1jSeCVgnoTr0LzrSqrIE2oUrD6xeOVRfdYDo\r\nySu0UOK5+9hNkokQQCh5FE9vcif43qlsqLIkY1vGc9kUVrxdNPEhNwpI3+Fx\r\n0PoAqZpF4WotnyhVGeuIDhUckrx3e7znK5IpED9IGy1oN5i9WTat8mHRJULw\r\n0tPkTLMPrQMHcpexYnvgCbTcUDfBnofbx9UOX0IUfz/+Qz8Xxusfu/emIk1W\r\nsh7psNllJPIBLN+pSai9sWmyK2zXJ84kndHBm2osh7Ien9FG3pQlYiP8WWcQ\r\n+CtPEBAZQejZdjYimKbtvMXMFyzk4iOuNHxAQWyn1F4CG69RNtGeQobbSum7\r\nCpgtCTVfoIUEN0FIkUxtmRKrEduNMUAHa5Zpz4YDlk4jiZBezNd1tPMJFux7\r\n+wGsioaXlfXpfKXV7wOhuktgwkpXGBbpnto9SdK9L3MDgCTThr32OXz8rRq5\r\nGcOiWyjZ0s12Mo6mJHh8IYjNlgnOUBcjrAyiC4tZZ7LbWbMOzQnMGLpE8OgN\r\nfeN2zPWumBR2gYLWgAAbc+VeGDlgJNxahVGlEHx7J9WkEtwLxd/T0kAx44Ge\r\nik/UkahfJhs7F/8rgbTfO15c3y9B+Ri+TKrPt5govwNacg/TMVFSE4PF3lIZ\r\nBH0dNuwg6N5OwnlI0/x/7qXs69qdetMpY80=\r\n=NIvi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.4_1650956526478_0.15655218796506376"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.5-7165bf71.0":{"name":"ipfs-grpc-client","version":"0.9.5-7165bf71.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.4-7165bf71.0","ipfs-core-utils":"^0.14.4-7165bf71.0","ipfs-grpc-protocol":"^0.5.6-7165bf71.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^13.0.1"},"gitHead":"0ef2fedb9b9cbed1b4855c48b5f03d343ceb573b","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.5-7165bf71.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-0sWf55KGKkO/R7I5BHUkaqVhnsmoeBShSwBLTIYS8P2seSCKxcrP07mHhz4jgh5/eL0/X/BcuNxgxhp4tXNKFg==","shasum":"08510e394a659c1bd4d69a43f613fc0edc03b5c3","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.5-7165bf71.0.tgz","fileCount":57,"unpackedSize":201820,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCV8GoyLQsLsh2GOWV6Cm3JM5FxMkWKpZP9ecVGXbljkwIhAMI3VN7b3CxXekEdL+ZVj8OrC2DdkYAj//2Kj8MynF1S"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigq8aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlDw//ZRWQmGoPJ+Ua0sCZmNWTBFiI4myPSkrGovuqmFhv6osTQ89r\r\n/NkaWtrujPKUgouOVAVpkrrDcTRsNspRAaH/PfcG4HCLGZpWfdeZ/YZHRAkw\r\nO2LZdpoKLOVPcT/fz9mivjr5i3jvZ1N3zyRulPIQBVEG6oug5mrABJE/OHCW\r\nrvhiNYOQTNO126Wu0/P6arQw5/ilZ8fWPvalI+bcCqTqJiKyj/LltErJqYna\r\nMJ8CYa+sPEcc2Xy3wyw7CVC2GKNZwgCBcIue0B86BC4UsoBbVt7GovYqcxcU\r\nry2ufTGcSzCpHNZ+xrwZafJx7IKM9g57kW3FqUguVslB1xrBQlbaM64wMzMk\r\n42Xq1Z4wAYUFftQfULRMMT9MazrLzt91GOaAMytW407Q5yhRafOkSYZx6Cb+\r\n3Ay+uFTPwMqrvj2OP+qy42imZTBi9iPvpfFn/a0fxHemvcSnZu3gRwndG4HV\r\n1hq1sLlVp+T2//Gtj6xBijLRQCnPkkvRWFPKcvDlP+xGGMEYDhuxWC437PFc\r\nWz3PVn5K9CWGLxKutf55z0XJ9FclEy2XdQLpuHyVf4++OjRJruT5L1/IrF8x\r\n/dhfbiJeot+1eUYg/2knCOSGAkKzkftzwReCjCoYLrmS/vIL+DMh6QTjQLYl\r\nEIKphYiKlr5+e9pCp2DxAHnNPKyRa+3RiNM=\r\n=MU8+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.5-7165bf71.0_1652731674491_0.7214587997158426"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.5-4e93dd5d.0":{"name":"ipfs-grpc-client","version":"0.9.5-4e93dd5d.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.4-4e93dd5d.0","ipfs-core-utils":"^0.14.4-4e93dd5d.0","ipfs-grpc-protocol":"^0.5.6-4e93dd5d.0","ipfs-unixfs":"^6.0.3","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^13.0.1"},"gitHead":"102f592858ec8237081913452cf185a3e44d2596","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.5-4e93dd5d.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-5QzRJ2WWJ7g4SRr1O4xXfvKL0mBa0qVDhVDWOjCHfUSJEFHaoqvrpzUD58S2c41r34NjntV1eaHOjrD3AHmxcw==","shasum":"e55baa1b6fbd15468e1445e9d9cdfa0ba985779a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.5-4e93dd5d.0.tgz","fileCount":57,"unpackedSize":201912,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/w7pnWGtTzCtDsDgVRPBv+EjxvSkiHLAsWmOesC3/zAiAkEw+ikVJGrd0MviS6awuxX0bGc5H87MxV77RS+4EmeQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikNVtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfVg//U2FBQ/UGLSnQM+u0R0yDgU65pOpiMKQXGuMkYGTO7rFQo+dM\r\nNrfrf7UyLL29lYVQJkP1iF8hbllyMZSfpFSaZgC1InELogaQuL7PFJLkLOmu\r\n4JIKnzawpSwmJhu9Pl6rHV3MUDoRPVu6hPsNMS45gBNKSsIhG6xs4nj5eXPh\r\nRDMsel39y6cjOZb3gsrZJ8Tr524ELx1CMVtYAa88xo1/8vsrzflUiBZqdim/\r\n2KLMGac/uS1tTajEYpa6vaZ3YKqCTq5Q39dmbdWhtlOpc2phpHb41Ch0+whh\r\nbfw5+ehNxcseCpE88rcYHIW9i7yNSoOJ6QdLPwJJQWdhLMl4U2i2Bi6L3ZOx\r\nCXdOui40ir4v80VOiHXD9/EmZsqTJrg78tw3KxRevz8qE4kzM3OUazuo6uhw\r\nAqv6K+wjgmVbZeJ33HT9T3yXOAVZSrylZdbTnQ78A1iOt2w9DOJAnhp0cYIu\r\nCEt7RI3rBiHt85LBo9TkptjT+Ia8uqY4Da817Oou4Cm2pCQcAPWLpXDk2Xq3\r\nG73kiKz9R23Ba+xUuPutVYT9vx2XTI0oUG+3jl68IF4EOV/68PiaHVfbo2wZ\r\nak+zG+7Yxu+JkHGBoSYZvN7M1k2iboup43y4okEva67p4iR7yrAVf7YYBV46\r\noaEVnMO0109W/CwEKRNb4Rg9njG9JHjqpE8=\r\n=HP2T\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.5-4e93dd5d.0_1653658989259_0.2421565192196664"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.9.5-919b27a8.0":{"name":"ipfs-grpc-client","version":"0.9.5-919b27a8.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.10.4-919b27a8.0","ipfs-core-utils":"^0.14.4-919b27a8.0","ipfs-grpc-protocol":"^0.5.6-919b27a8.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^13.0.1"},"gitHead":"b3b172fe34f542a72746b3af9351bcaf25bedda7","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.9.5-919b27a8.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-DycUf/yXdWXdQT2iwBoj5YTeOX+GxWvx1Hep7FhbqHYwk6OzdUG6Y6bz8gxy8ZKunBcTlTqfHkRA/Hu0yzoNkQ==","shasum":"775cfb8a0ded4e6f6a2845e35a02b7b0d38e38c8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.9.5-919b27a8.0.tgz","fileCount":57,"unpackedSize":201912,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFu995TFuxeUnqVJ7yEhACOs4WNvV4vUS4+N6oLDozfzAiEAn2CJw8Ff2ERyF+Ii+Zlb6hy5Won7zJ/qo7D31SamL8s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikPnbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKbw//StI9v72M5nmrabgfXTtREbYrX3L859fzN5OZz3SXT7SL92v/\r\n14mtjl6XmqQ1IbnpcdO7X645Ir+e/ZASuyJcYIiaD76lewBE5wIsZwxwRoQb\r\nu+VP7MxzHPpQnnHTgYnI+RiT/IxERkWLYUCzAUk1VwWYwMgoXy9UEnBUnjjp\r\noaAbZPHMyFPxzHPD6B5TkLhH0ieujEOLUonhaDq+KUnyY/pJVC+jb+wVf82E\r\nS+Uw63kUZu2EtyFv37RgI9UENhDPfFdiPW95T2z+UfTW7jnGNzHMc/DockrS\r\nEqsoRoK10wqRSJYRKMNyKJlUTl1+SA7My5bJeUtRnK7kGqnIeZ4qKbSpA3kd\r\nxdg+bWy8wkM5rQ7a4kN9Rg7OUelA+x9IvLyMDYVFxjthBIMXOWxkJfACAJdK\r\nTXZZWmWKz9FCzwbvXX61rOUwkPyxwNCAMM7hRMn7rqJrHcDl0skgdoEG1bpL\r\n9o36WptO4rudA2XJiKg2a0HBi/NWgsK04ggfhukrKp/fF6QzkE2Vdj9F7KuB\r\nmRCGh6g8hpPYgu7Vj71m1yRR6z0uOWRDUjI2JapPEgD6pIdqSkPRwa73Uldt\r\nQdK2SV7551C7OQ8MT2GEQsENgZeYrsgqdissEkc7A3PExUGgtRm2XVF8pRF1\r\nGZpZQL9Jpc6mzxsx+v1fpbUfMCZiIJB/rf0=\r\n=eezn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.9.5-919b27a8.0_1653668315633_0.8564163868146801"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.0":{"name":"ipfs-grpc-client","version":"0.10.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.0","ipfs-core-utils":"^0.15.0","ipfs-grpc-protocol":"^0.6.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^13.0.1"},"gitHead":"38e78cc875309ba6316706b63865e399dbcd18c0","_id":"ipfs-grpc-client@0.10.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-FzD7CAPTx3rEhHYM0TZ+M2qh0tYPXP1HfyAczk52KEZidhGxg207aSGsz5nyidm4AQOTwlyc7YlDj5rlwW6/WQ==","shasum":"30a4fbdfb15798d605599655cdd50ed47d741792","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.0.tgz","fileCount":57,"unpackedSize":201869,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICbyRUVG1CXV56OZs7OFzMZ6PHa9jQG0GmYBVpONn8J5AiEAqFHohmPhRhboGXMD1CdWqyBJW74QTvwDxiTSiLEu3lk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilRhBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZAg//cGlpJokd2pjYxGS5oRzMaBWAwf/JhFTFNfDuelNc510PwTnZ\r\nDGttavTgkzSPGawWv7APeTo4pJeio8Lxw02TjnOg87P6nyxU3OzEb0lYaXBZ\r\njQadztIoblHCt8MwLa7UDeV4Hk+rkWFDJAF43IRZygWt36/Wr0A5MWVG4WLS\r\noC6U+rNVcKNo2r+ftsfnKlCNur9yU66ipE/rFD9wq00MzX224vtZ36l8xJQH\r\nl7jMG3jWwcoPZSzwOMkUPxgrSKZyQYfIEOK5Ytdg+8Xy3WoNuJf/Z5BbtGPg\r\nb/feu/aBLsAR6bk5otRjEtBi/GHjpgWQRAU7yKOmQcAiMxb5SFI+RrNh0Olq\r\npGMmeIb822f8NEeJZsBetLwdJ99bJtYL9MnG0R7fP02PdSRMB/JeHFRCBaxE\r\nc2XT1eHBsk9St6e81Pp/Y0hwPULW188kmMouCTlvhNRxz1awCeQ0sQuCJFtG\r\nZrdFlJVTtdkCCczFVxijFAgHj8yZt8KZig987u00GUWD7lU+hFMWqNXOBQzT\r\nrEclxRKL0JKO6sg+P5pfOq8gv/1uKhZrgvHpLg3xwS8AtRzq1Gc3kCNmHW+j\r\nVWuzZkqB6N6R+mbG8u4alpugeJnuSMA22tkjscXUJi2wzVXfrM3rn7M/212n\r\nNFhWid1G1FSTKcSBC40M2okXq9V/ivfjU4g=\r\n=qHOF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.0_1653938240973_0.164993135024315"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-ddfb899f.0":{"name":"ipfs-grpc-client","version":"0.10.1-ddfb899f.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.1-ddfb899f.0","ipfs-core-utils":"^0.15.1-ddfb899f.0","ipfs-grpc-protocol":"^0.6.1-ddfb899f.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^13.0.1"},"gitHead":"87fbbf38470547cf82ced4c9fd2679df026170bd","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.1-ddfb899f.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-ykC6Dbynl9vlM+pD409OmIMTruBEX3Y8V9GQ/Z0e5twXBOXUkJ6ZIDnm/6+MB9/BsT5HPiEIoySRP9bZJK7ZwQ==","shasum":"85b39fdadd52d84e99b0197410231217ad3c5235","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.1-ddfb899f.0.tgz","fileCount":57,"unpackedSize":201913,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTyYpQqhAE7t4Xol26eSpxWvKFROhrdtJOsBo6m7gybgIgfPu4OxeiIgRYzmrXMQoXJ8oVBnpeZOOrmXHZoODoz3w="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilSGKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJLA//bM7FPvhm03z13497izDA0EKxOGg1ntgF5wtkIWKaSdXNw5rx\r\nLC3anBqoF4V67jMsNaJHJdLkB5sFMTn/qRUxzmVATVUpJlysvalwpHy9G9JG\r\n2+y7c0aAbv1/4kppHAODH5Ac8/LAuSropIcBvm9W/rQ+owbIdf3+U5Bq/aZs\r\n8LSeOYt8o5+AsN2w6r1bzisPhO3e6UD6T12TGQq9CNkWDmI16ToDNK0GEOE+\r\nebjGq8yjmndFZvjXDZ3xZva2OZi1xnAL9gwwxNKVh+dhl1luzd+fsGWOvfSn\r\nD/Es90vcaChCAuMLVKCW89kFbytWaKJTt9hcxrXFgbVqznkgAoEd9X4qZ/3y\r\nZu1z3JokTONkoy4OBfhYYlL9ISIMFltC/hYUFLvv5c3n0T36/htPrzfnX2cm\r\nQzcPLitDE+nX2dvr6Xl4o7EpPgChFr5vf88ZmMQsteJOEC3gmturI4aEIDZF\r\nEN1tTFj2lXpAduhgyiWyktiK1XNSqlWlePVYL09ZjU6wcZEEn3wZw/6r3BYc\r\nlpS2EGrRN//JaPNj2sMqhLZ30ZbmXdxUjcp2oxZh2Rq/gkn64Sz45MToXZkG\r\nTm6GknYzmFn71VmgWGr474OfHUp4FbKkhMWhwdgoVvgD2BdcMMooIDSfeL7d\r\nYCy6WMqNonmpRFf+1Y62X6b03tUjo2aDhoc=\r\n=5gLe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.1-ddfb899f.0_1653940618775_0.3503914246756632"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-764b4adc.0":{"name":"ipfs-grpc-client","version":"0.10.1-764b4adc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.1-764b4adc.0","ipfs-core-utils":"^0.15.1-764b4adc.0","ipfs-grpc-protocol":"^0.6.1-764b4adc.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^13.0.1"},"gitHead":"e174046b9ececfd2fb7fffcd8f6ad6211adc7499","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.1-764b4adc.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-J1RoifUYQRgM2TT8DV6cdglEuoy/tBChoYB1BwbDNhbXOA719L4e8Ma9+n0Wr2mwrpSDsC4IvRvn57NztzyUfw==","shasum":"62b9e939ec30b8a09172a577edf4863d0ac48adb","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.1-764b4adc.0.tgz","fileCount":57,"unpackedSize":201913,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID5mmMMBEDsBGqG7qB1gXJ43l2H9hMkOY2QZwA2ThTeHAiBOtizCqzfdWczPFfGvsLqMTSTsuRwUvS5MxezFtYafFQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil3cPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrIPhAAkX3OvDoLKp3zlWYhoyaCafKkG6fqHNlitJFmebAmbC5ZaW35\r\ntYXSaZZjdZ4jaolcuqLnJRrjWUPs1qdgop1wrXePjs/zUucIvqN9j+wXWusg\r\n11jVrl4d5R8ivA2KiDfecAwMiFmD34DEpboVbbwJkCs/+IE11FmkPUsAhtJF\r\nvl54OhqM5Y68H0O5ktrYIawPW8bnYAOqZJJNFOzQyNUVkkmVienziETreMuD\r\naxh/3NJMV/fD5GKz7UJkAL4OfdeD8s9NYdSLxtjQQZxC7cSn+FjIw8uAsrnC\r\nbUHCP5gTmcZRfjYWIo3nzwNJkjaXTC1O8rVavU9L4bgUuZAtk6ojhrmVyjQ8\r\nMkpeA4e4Ip7zRUgiSLIlTJh+fht6Ley7VShLBVIdCNi/9A1xTscgwha0tdCW\r\ncEmZ9oDVzFyuxAUZM684B1UYqW5bZ67ggOLTT/ag0sy0CWuyAv1ye7SAUgcn\r\nW+mLbp9fc1q1W0a3GeCnAzynWbuCqE5Czw6Wife0/4sy8zSCMiPRzKOwYFDj\r\ns5z0R1i1gVJR2DW5CwVGnWZnhMmoeEVADzlxDfUwVtgLfmV3EZvG4JKjWuVl\r\nj/E6iXf1Hsg+Mr5c32ssieJN0nCBoxaaouU6fuXPcq/hQJF8Nfi4PgaiT5ba\r\n8HgrfcEIqlNF6H2JoW4rdS9D+4RW7MOM4b0=\r\n=cbn5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.1-764b4adc.0_1654093582962_0.31957574524597776"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-be025c89.0":{"name":"ipfs-grpc-client","version":"0.10.1-be025c89.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.1-be025c89.0","ipfs-core-utils":"^0.15.1-be025c89.0","ipfs-grpc-protocol":"^0.6.1-be025c89.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^13.0.1"},"gitHead":"624dbe983b6f235125107b73ccce5ca3e45cbe7d","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.1-be025c89.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-J0PALy6rhD6TIz9gv8kfD6eMJVValhH6ShM4vydVrqZYHN/rtpEyY9kcbK8xbUv8U0m+yalYV6VM1RfWudpIkg==","shasum":"28ba109f0646e97661620ab53e0fe3cf70114822","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.1-be025c89.0.tgz","fileCount":57,"unpackedSize":201913,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICMFVdzXyzcggv/Ex/ImPgB5WWfdDiRZObRKzvzjLxPPAiEAxAktI5GBCS/sActT3yfCUF3xk4VuHK6avU6XDCjAg6Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil3hFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPog/+PcDU5Mul+yTjWbjCCiQiDKOxe52kP7z41sPrfv2kOPYGuRl5\r\n62TGwq+Ht0b+4PcVjRmwbrR1P6LShLDI6r8lQMuurs0I+HnAFSXPcvQlrP03\r\nGDv1xE2/hNo14JHOeCxSI20NdqGt1jcJrFpZLrKWmUHYyMn+JYdrfdJb37AL\r\nmJUXLEcKAIwyUwx0AXdaF2mQu28tb5fraYV/c7OUZCAWeD94Tx8O47ou9Xf2\r\nG1HzdpDURQP1K5dW/a2yECP5qs1+j+JARGVIZZGgPM3v01JjrOfGDoR8RypQ\r\nsbhNPVNgMdPv4iWY6JI26jTJKyggXyVIeKA9UUBhROHALgicV/dRDl6AE47v\r\nq7OGSVLRiEn0qPKzOfPM5Bx5/jNr26JwDCo/hCz3JIK74z02ONBxfUWg0/8R\r\nCwW6vEk1jzzg+H029lBLT7q/JGeyZvZEqCjRXMJmzI2rrGpu70Va1Hf3lFcv\r\nKA4MP2bHd2R5Az/rog6Hf6eW+kPnoZbZ0mnPeddYSVGYNSaEspNk5M/m/wVO\r\n5M+DoQmTW5wcsFeV8/iwF+l1sJM6mU/djNQzHzhnXMm25247tGqsp3dmkS4X\r\n69A5FldUzUQkiBgtQ7MIyDqJ1BeE6vTdALG15tSQxCArlTNRc5GG3VAMK2tf\r\nvzbUn7Kl2b8onOEZolF9Nyes92Rn9xD1K0A=\r\n=sDbp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.1-be025c89.0_1654093893075_0.9462165681325754"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-87e00a69.0":{"name":"ipfs-grpc-client","version":"0.10.1-87e00a69.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.1-87e00a69.0","ipfs-core-utils":"^0.15.1-87e00a69.0","ipfs-grpc-protocol":"^0.6.1-87e00a69.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^14.0.0"},"gitHead":"4aa63330e4f3184df8f4d39cd0880c0ac903e795","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.1-87e00a69.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-tFUv351xMUaBG5ZRntGwxc7HFXyo8i9U5L6D5xQRyg+ST2sWbK4inK0nduAoIFOiTl1oaXP61Z6FMjCtukKB3Q==","shasum":"2ec343e1f093ef7cb3439912ce749c319e2c8f24","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.1-87e00a69.0.tgz","fileCount":57,"unpackedSize":201913,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBxy6Q8dVcWI4NxQBSRoVtTB1HVXdZSMNhcujKTz37AHAiAN94YKk2qkT679v/5xSl3s/mfJzNT8lA8bGl858qBoqA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil3leACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoflw//WzleXoVZI6E05IQep/5L292+VyyHbLr8oRPqtz6aYnvbLsYO\r\n3EaNXZZ4XLbim0F1ltjHgoAqJbIcYm2vpqx3AkcbBwd4v4P9W0vhJ9aAuISt\r\n0pc+ZGqB89UA8k447ktnMQU/J9OrIk4T8pEKCjnq40c463H5DvqHTa8ca0FP\r\n6HMYciKoMr5FwMTHGk54mPDbRemGZKpu6oOShBG8Q+9ZZTFhnzEEAWKr2QiX\r\nJbpW/cEJtjmJzSY0ixVGhm71pgvAQXBdD6j9+L3sp41LRi4jwErTs535+gDT\r\nuBDTxOXqjTmMXGql93uhhp+4YJCT1T0lmdzeqinDtn44yxT6Hs8F8YwSXSxd\r\noA7lOrjWshjII/zuTNRSDVtcI2lsCyayaXosfWUE+b44zqqthaSU+OFSPZ/E\r\nL05v2OndX10gwZcDDvR0jH+/hOCPeMiZFc0cUP+AceXXNsot5cUZKul0yWR2\r\nlSZMgAs/l7YiOyotaYGMxCu9wFLYhlFI5B1XINuCdcHL3mKnKRB6s1PwC1sx\r\n/9Slorq90Gwv7jKivhBusqOdCNP2kdzyNOvDvECaMUHLXGUfNhemzFs4pn45\r\nawAFndx0bStoxR67JZ0iQztB5QMR327zyfhiE6e03HG8H8Qe2wsIZ3qcMNGY\r\nX6HGD/q9dKeJi4ASsKqMwniwsAkyehcxmyM=\r\n=11mn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.1-87e00a69.0_1654094174431_0.619198228064338"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-70e142ac.0":{"name":"ipfs-grpc-client","version":"0.10.1-70e142ac.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.1-70e142ac.0","ipfs-core-utils":"^0.15.1-70e142ac.0","ipfs-grpc-protocol":"^0.6.1-70e142ac.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^14.0.0"},"gitHead":"1a6e6bef85bf35b9328b61ce15d312f1961f5fef","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.1-70e142ac.0","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-J2i6Sb4r7yWwykSkDTXwO6NEsuBA2C4lRyB+lEkAw3vVsTmKCcna6lIzUp+GdmSRS21ZqjesIXaBLGjQHUSt5w==","shasum":"c387d09c93f8ef95b5d9ff2e6ac95dbd186becee","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.1-70e142ac.0.tgz","fileCount":57,"unpackedSize":201913,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkTaLbWpombxfdNM4YupuEDkafV0yZTVwkkE3dm1NyiwIhALu7LO8oKzCfc4IfbriCFxe4UTZz734nXY0ApbryZdL8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJip18hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTmw/+OrWo2CL8cZDxM4qXNArLdP9YXO6aab3B5yiv1k0X5yKHp6/G\r\n0Zh+oIC9P5rqfW7+eoFguyOii9o6y1FQNciSjlIcgBLHwtBG53O1bdn5xbn2\r\nbxgadL5m7TkeIW5bGaI0k7MEAfl4HTBhyeas1XWAxYX2jNtSuN3sszXO1xBR\r\neA5J7KNc7DwnJ3CsdDe80bEPSPrjeGE45ksI9exYHAD8zrUZNT1FSeMa4PPj\r\nDm46650EhgMpiEGGVgOQ4kVdBTWcfbmmR3FzW+wb+fC4pr16F/mba92PUeGR\r\n4EX8cs4/OwcnhXoK9A1CS34O8P3LQ7gNO+9zEW8ZQm4CTlR574m3jdRVkFvX\r\nIlARnm7lrrmP242KtxWUpAhjbhsZqXfEnnGYj6guJQlYa+afdVK03ZdKvZKh\r\nDse7Y7H9Ma9fQiDrd0I2MUhlN+4XhAc7Ibejd3FnCqqE2jcct7eGjnd/AykD\r\nIF0DOOS4lPmRuadaq6kJesfa7ljmNr4ZrvDdFSdzHdRjSOL+qWeHkbckY70q\r\nmDycubR9VE1wncaUds7U4GJG36ZVMjTsjpIBt5vHQd9MFJhGH2gcFFXo63Rm\r\nfd7WVUSpmTqm09eQLh4VTZfM69KfHgvMH+ZsQnHOT57C4roBJ3Dqyh4ej8h2\r\nZJLNz5YzQGfxlLIFPS5OIyXK0nHY/gGNsdI=\r\n=680h\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.1-70e142ac.0_1655136033199_0.22118959811140004"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1-7be50bd1.0":{"name":"ipfs-grpc-client","version":"0.10.1-7be50bd1.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.1-7be50bd1.0","ipfs-core-utils":"^0.15.1-7be50bd1.0","ipfs-grpc-protocol":"^0.6.1-7be50bd1.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^14.0.0"},"gitHead":"8d1e141b6d72e6dca9162859d36425eab90d8b12","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.1-7be50bd1.0","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-QchlXWcpu+QkaSGlyOdSWNXz/eVH7J80enfzaEXvqVJK1lD3DKRzZb6FeXyHxggqjIfYl1SEi9tnARwrMvwSvQ==","shasum":"43a6e9129782cc8826c7b5d145956da92e42029d","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.1-7be50bd1.0.tgz","fileCount":57,"unpackedSize":201926,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWnZtfo0bgfGpSQrwwzOpzdUlfC737D+mu2Ck62XEBtAiEApkPSRJnpEOoBmazr/tRuVHyPWpul7XblsZyHCBJ/2vc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJis1X0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrE1RAAoB5CKOKkpu1pXGmUGALmCpiuT5HFvhoFPPft9YOduJDFonvF\r\nIZ2tvNe/Soo828z+TKlNIcOevhKLnvDQQKTw9dysynObi0CivJ+rcj+e9swP\r\nKJ2HaXVjVy9L9HMlYqFDQxl2eJEyVxV5lSPL62Kazh/fvWbdDmS06UwYlSf4\r\nTmRHh58mMvckKdmyJoExWKpeq/PgkA4+eCz+cUGTBVFSlC2dTXn2Ej0LseHn\r\nRBpaZXcv1mki4A2rVpqVXReTjuZ1wkbl6W2zGXYbTYWUHN2vfXznljcDOzWO\r\nY1cOx8h6ZP8AlsDet1+PRzeFL6IHn9pbbrNPEMhCNmJF6/GQIM3o/WAX2BMl\r\n71aeFlB3d0SWYtJ3Zsea4USLwzKvMzXETiSAXf42Qnv9lOgfhavxs1iyqZIt\r\nohpVY3NpoJPWI5xTWvJHv06qDtYjh+TEuiscAu6AQ180a4+Baj+9FDYXqB1u\r\nlMR1MQMhvfX+AsU90wiA40Dfi5OhkVDZcl8AtJSqvz1YI82sTvh7jJlkCios\r\nz/ILDrrlgmHN3nDYRskCPJRp2Oe45wMV/SrWbRFpX0FXOL3l6qFYmFV2zW6/\r\nPtyflOUtBxDgt0I+6P26n/DNZrq/QYr96Bv7z4JY9fz86FfuuRADde8obOaA\r\nNjegyATD57R8enwttL1bnk42kVKzVXfQAi8=\r\n=7n+V\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.1-7be50bd1.0_1655920115861_0.3878182295045858"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.1":{"name":"ipfs-grpc-client","version":"0.10.1","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.1","ipfs-core-utils":"^0.15.1","ipfs-grpc-protocol":"^0.6.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^14.0.0"},"gitHead":"c1cbc810679405d5a5c0fcca0c5c7aaf023b2d22","_id":"ipfs-grpc-client@0.10.1","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-oHkiJ3OstnAo+qsYByttjUTiV65/WNfvmBTPqx3j4l7grDyniNYcqr9Xfs7G8Vop+PXwHVfppIBDUxiq0bS4Lw==","shasum":"10892ae894745540cded725287557bfe620b3ab9","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.1.tgz","fileCount":57,"unpackedSize":204692,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQbMQfbq/y3lU/MJxJLT6oAoB9aPels+QdcSEYLPPX4AiBcY4xsDvs6n+BLjooYxzBy6kBF4CAYOp4mKxNKRHFiCg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitFaDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVnw/9F9pKrixXRDxdbLoehVYdVw3FLuCkBbtYzEERRIiibNQuwRTJ\r\nbYxhfOf1Ysf7t5wCkezsNPv6k6GrBOH4eZBvQt3pxxC0WuxS20NbfKLaOv0I\r\n5b49RcsYt7LfjreKHmvs6ufA+hkFJHc0lWwwi+b/S5thP9R0z8V3BfSsS7CD\r\nL/eSvFNQ4nDR9GQNAA9yU/qjHdVcFocbcMJfPgndI/WaMXX1XDW9TJGgb4Zc\r\nmFX56l0GKCyYKwdA95s18p7StaOtL0/vujGgkw+KwbdhOq7wutqbPGqz4bnf\r\n0AWg6aKzGPNA+N3Vw1SATFRljUHethiCPlZ8KOtnf7hWFpEdzsasKojtI/Oc\r\nVV8YloGyKEqwHTtN91aHJnOir7K6uxn35o0ZlVMSU6arIDuN6DE6u75Yz1Fs\r\nu/oErQb2SXJNrer3njcq3VOTN5CxD9b7/VMG65lqeLLmJhgc1Ixdmo9HICNf\r\nbveb3uh2B3qLWRSbLTp8C0brmoBrMVbp9WY3ugkkxsSYrNMC6kfYvPqhi2vt\r\nL2DVtqkrZ82nBwnUkNZt5kskQ4Y+Vo+MIHuQF1V7llq7xl3VLHGuMEiVLusa\r\nz5h3cYXtGxLIMrMJ+F16qq2mJ+hDde3DL0QutUUGdFqaFP0vytilbQXZX8cE\r\nWMrKm6fkSWK85BtWe5mlnhre3xoGT8mwXnU=\r\n=i5W8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.1_1655985795599_0.9027174214297713"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.2-00bd3dd0.0":{"name":"ipfs-grpc-client","version":"0.10.2-00bd3dd0.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.2-00bd3dd0.0","ipfs-core-utils":"^0.15.2-00bd3dd0.0","ipfs-grpc-protocol":"^0.6.1-00bd3dd0.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^14.0.0"},"gitHead":"5e5669eefa320838c4810adf62356b0039209ed2","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.2-00bd3dd0.0","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-cahFQDKyoo+IDCEUPzZRCwIk6dmrnqOIfvZ9OMmHqXaFc4qTMzq+sv3XFUxYIOga7zwNvGAMoE90IY33p3D2jQ==","shasum":"b152f896f75075179ff3a65b9202e4eb70af4c80","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.2-00bd3dd0.0.tgz","fileCount":57,"unpackedSize":206974,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgPwnQl/bdy6SHYpDG40jIbvVnHnFJ1vqBcz4ZIli7ggIhAKdChoEt6P75qzRJORMLuOH8+abh0rrsWM51v8X380xH"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitYRIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0JA/+LYxnky/Eo5qOy7JLuSa4iECKvd5OFhGZ2gri5MSQehD4Rl7R\r\nD+IYkf3tTHa/LneOvLoEZ3P1OLc0lSIu7t4OAWN/VNpzNgXJmE9t9iPdLjWp\r\ndqOrOHdQki0QF2JiZ6B+N0PjogHX6ykfT2dC2idwMGR1E9sUuZAkuuwBjoG7\r\nZRz8oAT8FouAFV9w/QHwQbqIwaV6BdyEGoPlq6Z9s1grYtZ+7mKwKixG4uZu\r\n7TT6EMmLCxk+6TLH7S4x7Mu9VPdjQrNGpB4j0/sfEIvunMdq5ghf5i/Z/Mg1\r\nJHHfm1YKHOJHw18ux2xB+KYA6/gg0hT44pAkiGARwwnRPAUVt/4dqhvo0elg\r\n1pXcMpEDcYHJNsH0x2RSnxO77uHSE1gyiwet4KjPIa0ojmxwduJjVicLrXzV\r\nR/nXXJSfvozKERITdSwB9xIlq/LL6Lglkpa7t8LOiBpIANzj7NbYmtlYUfy1\r\nj9MGHc2f33F2E22BuJQ8g3u3uCYsccxz0qjDODdM4CD9jxOXHeOS/PrNTySL\r\nGBs4glZviFO1fq+kYUmk/vQPl6aBSeShVSjcQphDPNeeANH4IxwiN1m3Tc/s\r\n8PyrNJqir3w7o1wx5aYw7nSUjxzKBX7tLzuhKoeZ0uuAhJYa4uAOjfxACMsD\r\nXZ1RuIhJVgJiRLG94RgkOONc8Eul3aeKgj0=\r\n=MPzC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.2-00bd3dd0.0_1656063048338_0.20232779835610692"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.2":{"name":"ipfs-grpc-client","version":"0.10.2","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.1","ipfs-core-utils":"^0.15.1","ipfs-grpc-protocol":"^0.6.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^14.0.0"},"gitHead":"965f5a4e00254cee48fca2127d95209deaee09cf","_id":"ipfs-grpc-client@0.10.2","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-eoYtW2AONID3lQDDTZuChuAEfOe+ct9KXqu5XXXZti0LpakMVbNd7wUolxhLQiYYlV8E9T5AKpDE8FUlAy/apw==","shasum":"921f2e17645a6ec6df11ed259f5794500df262e8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.2.tgz","fileCount":57,"unpackedSize":206930,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBD2VqCstc96KcWybSXqtsWxVAKEikrBZLqWrh/amfhAiEAzzDLKfXkZ7f2oxzvTR2A5ZBxXDqoTppgBAbCf++Qeio="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitZETACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoP5hAAlBpM3KLmcb0utJRrybMyW4xUYfNvx2TW/6Rx+vKMldcW/pDe\r\nyXfttfB02WnOdSalLWa2JTrSng5F6MSw0KRN/gGtlja0auEGKorvGkdt+GFY\r\nKLdjE5wfrNv2mgdnzEh9DYfsDOCOtewaJapLIByonTKJydzJGQHqYr2yulfn\r\nujbYXQod+Mn8jd+T6HWOwFU90y3OKp9Lyk5NS2ddp+OkG5GEjgDVkCDDCmql\r\nAIRjfb8RkWOmfNxzlAjeiADU6j6lTwTvYCQV0Cu44T4g57YXTaCjIw91g2Sl\r\nEDKM9htJ2rhu++idYbO+cL8CaD8cdL00VTOZCxUeqg6CcJEPj4dYBUpHlD6e\r\nkFsHrqUOIS9M28SQT9VcpGlfD3fBmG3oQQenwwJwK70TxYAcqDvhvHsL/YqL\r\n9eYMxQ0yIVI2HELYjB6Emz1XdwsTHgQsH9Q3fnV64ZG8tWrO+ZyZZ+xJi6QE\r\n4DW5LroDfsc/QQ4NT7K6BhG0RL6gcqNvNbgxaswIFg9e2HxyrB25+Rjgrq3D\r\nm//TcY7M42knlNbGiotSWVCsMbx5E+uuFHCuRkxwXTK/TalkrVncbeu1D9g0\r\nr007qhdcnEy6wpGPda34Ab/qNHMJ3iw8uSDVGDov6rlY6IlpkmvEW8CAjXJC\r\nmsrxV4mb8G0UV8nPTSM/mtKi/GIr1t3q2r8=\r\n=dY91\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.2_1656066323460_0.6320838649808518"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.3-a05695fc.0":{"name":"ipfs-grpc-client","version":"0.10.3-a05695fc.0","description":"A client library for the IPFS gRPC API","keywords":["ipfs"],"homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"license":"(Apache-2.0 OR MIT)","type":"module","main":"src/index.js","types":"dist/src/index.d.ts","exports":{".":{"import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^1.1.4","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.2-a05695fc.0","ipfs-core-utils":"^0.15.2-a05695fc.0","ipfs-grpc-protocol":"^0.6.1-a05695fc.0","ipfs-unixfs":"^6.0.9","it-first":"^1.0.4","it-pushable":"^2.0.1","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^6.10.2","uint8arrays":"^3.0.0","wherearewe":"^1.0.0","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","sinon":"^14.0.0"},"gitHead":"06da5952a6d61e890ae37d305b99a5f174a1555d","readme":"# ipfs-grpc-client\n\n> A client for the [ipfs-grpc-server][] module\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## Install\n\n```console\n$ npm install ipfs-grpc-client\n```\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name | Type | Default | Description |\n| ---- | ---- | ------- | ----------- |\n| url | `Multiaddr` or `string` or `URL` | `undefined` | The address of a [ipfs-grpc-server][] to connect to |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type | Description |\n| -------- | -------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.3-a05695fc.0","_nodeVersion":"16.16.0","_npmVersion":"lerna/4.0.0/node@v16.16.0+x64 (linux)","dist":{"integrity":"sha512-rkSLpml6MDn5E5J1AOSj2BhbW1RKnXs1sE6X7jvgakLLyGImexXQq2SrlFhUi/TTY3d1cc6pr2IJy5HAFF1gBA==","shasum":"0dd248fe2bc8e612334b46a4f0042142cbb83f17","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.3-a05695fc.0.tgz","fileCount":57,"unpackedSize":207544,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYYfhPEiBlm13YgHE78OGoLDXQmtsAxQ1gBWq/eMw2nAIgRvBSFVhGHb2Q0v9SBj5xPP5FPS0lrmmazzKOsYzjkhQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2AGLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2Ag//SeUiiSUmg/xw76PejuXHQvEmba4FljPkus1nOtRtJeRWuarn\r\nadfHgcOMePxX4O6VvKTiGsJSwBs+WQ80JhQQLf0r9jJNcU6Mjn1EirE6wxmu\r\nRUEdf0fz5vRPYKuHSti+k+/feRvzsamkRVTBSFmHhVJ0lxuBSpKeRHO6rpCV\r\nXtn7+EFE0PtVV9H8YtT60x0fuLJ5+cIr1ScFFMv6vnG9cHY6rkxVV1D8Kacr\r\nwpI5gYAqjVHSMSiYfdLmDKwswN7EM8TI7WuG/C+DqT2zWyy5AIps4TSc9Rza\r\nGNzYokxJKoLOIz0hGuT6FRfH2Po670iMV+BcqGBrnPp+F/j27RdY8e3E0JLd\r\n/GEZsmKnCS4jvcaR/ACPRraMkm8iOF19GKviiNxZNU6MKLjp1nHPABqefXOQ\r\n3Wmgu05rDjfkMWZm4QfARJh8mVFYt3ICxsGkb9bJmDDaLFPLB9VFTdyFyoic\r\nMrWRXYL6mk4+843v64m9tyFtKo+7aCFk24XIOIA2sX9tF3M4Nt4aoolkkQGv\r\nyYOxAaSOy/q8Y705qcFA1JoZGDrPjvhlBGvjXr2z4KVbHDHY+a9E+oWmCZLG\r\nCMwot4ORsfyVTbiIlNYhjzU1Dejdzh1c1YmqUGs5FZH1QfOTSh8IyWucIgjd\r\nsSK3iQ0azZe1o6rglHSMwqV8HL19IEj786o=\r\n=4HWq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.3-a05695fc.0_1658323339232_0.582717812540857"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.3-39dbf708.0":{"name":"ipfs-grpc-client","version":"0.10.3-39dbf708.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.1.8","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.2-39dbf708.0","ipfs-core-utils":"^0.15.2-39dbf708.0","ipfs-grpc-protocol":"^0.6.1-39dbf708.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"a2f1f57d7993d04b2d19c3d7ecbeecc95a54d2ae","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.3-39dbf708.0","_nodeVersion":"16.16.0","_npmVersion":"lerna/5.4.3/node@v16.16.0+x64 (linux)","dist":{"integrity":"sha512-fYC28NP5pWkTx0Tins4bAViEOi4LOpyXBLfDVBLEsdfwVfjWmNzDZhZ4uRrITIUNfjx2kOmtyv1S7K2v/EY9ZA==","shasum":"b9e1105c8f10c073259be95d91387b9d34669f4e","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.3-39dbf708.0.tgz","fileCount":58,"unpackedSize":211875,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLL9w2bwrKJ1/0CGkyYtIuz7azBGwjSZd84rrQ+qjJ+AIhAK4HMJ8aoS/5hIGW8n3Eh0pEG8qFLZgoYZ9tJZ453Nln"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/WDgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3ww//fMdqLUR4kmoMx9Ot2oiZ+AI30sNYhnpb4YAwriJtkGnJVzg5\r\nAvbyl3t0woLjMvozMmDI30/5ZfS4rI4V12e58Vc1IwLq8Jeas46gADa8J4AC\r\n+Ee9fJuv0aV4OZ9HioPB4Q86tu5O43kaef7Zu7jN0Y0kKV5ZeBeITdY2xybA\r\nZKqTUxKrDFEIxk7lu6v9hSvPgjRGrkd3lw3nfcOh4/tOKsA6LHWX88zSmg3Y\r\nVfyDZHMbflR+u7wRMdbTZhuKdwjBzQ+D4iCeUZM+g+1ZCYCu+t8kZnWEWcHj\r\nJ94WzH6taBmOl/Ef4M7a1YzkxhEUwPZ0IC9SGKG73Algm78n+PtekYKQkMER\r\nnCOKT2NuodpLRa4gm7XFDjAcKlM3Lm9RQkAXo6GUSBQT3JVIpyiWCg5DJ1R6\r\neP6Ea9lgESaVJ5m38Ollj8Pdp0MP6pwiToP78x4p2ptHf6l3BrkaDiZDRPAZ\r\njRo+TkjuZ+T08Vi0JatnobbaBRQsFV6PAwZI3S+p/Vqq2qm7KdQAIgMZ6LEH\r\nDwwXZE46gaws/2dxkI57JUhlEb0PCAPq7KUy/hRV48aYb6xVAvWyR2yaDujD\r\nkEaCv5yWNyHkqTDpZgicNT5EWGvDbWRrivh7A8aDGS7u8WtnF6D1gcYe0DTW\r\niIeQ5qJkaN40mWCJ1OVJOJQ65+2MHrlIL0k=\r\n=nJ0D\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.3-39dbf708.0_1660772576510_0.4096214276134982"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.3-8f351a89.0":{"name":"ipfs-grpc-client","version":"0.10.3-8f351a89.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.1.8","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.2-8f351a89.0","ipfs-core-utils":"^0.15.2-8f351a89.0","ipfs-grpc-protocol":"^0.6.1-8f351a89.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"59229f179fc680ee9075d2cc8deeceb7ff1b27d8","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.3-8f351a89.0","_nodeVersion":"16.16.0","_npmVersion":"lerna/5.4.3/node@v16.16.0+x64 (linux)","dist":{"integrity":"sha512-DqstF1Jvj3+QRhTO4FkLPo61Y3VGCfcxtSiAkd8vXRdRxu4vANSGgx/Wr94IWYq+Mv180Vrhsoyu1IuaMej2XA==","shasum":"9358519d95ff72cb73da7d2eb25ea457499d4392","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.3-8f351a89.0.tgz","fileCount":58,"unpackedSize":211875,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIACQAWxoW94d1wRzi1P6FLyt2qwXK+gPhxXAZ6E34SK9AiEAlXWD3GIlJ5mHfRl/nOYJpAYoLKgy/DoKKgBvJj4BLCw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/XdZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEzRAAoMbfkr6Yy7TI6ErGjuv1zBjJPgLRZDTKOvvMqLxRFITxIRKu\r\nclynFYLx+98OuSV7UEt498Cu+3+n76z694HwdE5P38iFuNZzCLciVRAaRzWz\r\nB/diLtWG4nI7OBhsoLITjoCDXqt7ZbmufqksIPIYF0h/85NXG2IeLNTwGAO5\r\nHYGgWY6OZvl1DlssShanKeDzNVRfopBORjjFg4EbMSEt7XKAupyFNaDWGCpH\r\n4mFxc9RRvcWn+LQmquXTRAw75XCMx+G/Z+eP490DG2eapvhW5yYVFvVcEnWw\r\nS03CigLqXrbMnFuZ2opPJvdUhfkX3nWSCFukEMxcaDVJHwHdgVJm4dfG1Qfm\r\noz4SCOiSjpb1CIE9t2JKE6R0m9CdVCNk0mgEfv31SrrYr4GdTv7i/WOshj+V\r\naJHkBXW/HgRjtvvhVUv8Ox02ia2kz52ZkoNTSJIxxIP8g6WsmuUqX++TITtf\r\njBAcPTxy04y5yBfERPfEBPtAtHZ5Rh39M4AdiUnZkYfU1sh3jpsxNLg0HTkF\r\nJOKANVK+p1QsaQfE3VEc/WdJI+O/deRiTMeDP9KdUyPf5zCPkETh3Fu3BMiQ\r\nzOXYQex81zNrk9RtiFzMN1Y1EOoJS364k/5pxGJutuwiXjdV1QEGuDeYa7Bv\r\nMd0m3bwNcMlslhWeuMqS6ddp1QCl82Wm2iA=\r\n=Xnw9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.3-8f351a89.0_1660778329019_0.6787847004817802"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.3-83f9882e.0":{"name":"ipfs-grpc-client","version":"0.10.3-83f9882e.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.1.8","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.2-83f9882e.0","ipfs-core-utils":"^0.15.2-83f9882e.0","ipfs-grpc-protocol":"^0.6.1-83f9882e.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"368c95b50c87246f0c5b143b79deaa4329d0727a","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.3-83f9882e.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.0/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-ZWbMbzAaLHZYboBU1mwWBdyqVjL+U1pdr8JhqaUQof2lREBovTDAuHEeVdmRdJ9nzY8ck/sk0sEF6ICCXh9yIA==","shasum":"f0122c9d4210ca8fa2272beada1209008121518e","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.3-83f9882e.0.tgz","fileCount":58,"unpackedSize":213499,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyaPA0Vt5ZSUqa1p9LQGg7sacYGFg9/je5MUZ3CrKMUQIhAKjZes3xnreQx/STnWNk9jbZl2ECMaPfKNvlxhANwDhy"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFy9XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr35w/+JcIg9ywns4dIhzNK2FMqGS5ryfeC5iDr2FttxZCSYtaLjNPN\r\nve3WzGUQxBe9Ae+705UrRFu7bqk8LBE0MBw2+qyxt5g6oDiTj6eIwo02LGE7\r\nor9T7sAZhSrh73TIisQG+pe7NI7wahTuSlu3HagfVdGcc0abfpSERsxju1Um\r\nr8REETJthPNrocQYued/xTYcOzLdR4eA1inAoweAUwrSuyzEpMjerqqzy8nl\r\nOhgkZs18O7Z4F0VMHJWIVTuIFtNLMNWt2pvIJP0uSHTRhKmp7Oo63Da8wpT5\r\nruhVQxICcLJynEXdmBUTVUJfbouIvZtrJkC0NL7RZyEZkV8VIHOU6nTEMjZo\r\najOHIqOWr6AlChEnuc+oeJl9XKrQQ4xV4SyTwTjMJyCVcjQYz4GYhn6Um40B\r\nTCmW89G04f4rlHcwydwsSt+3EpZS5qumsNCAQBY9xaBxmj511WOZDml4i4Uq\r\n6p2RBn+41hbnG/4gVoohZFEcj7u7XdMVoChyPo/jBIDAsD3SwemvkX5eWsMr\r\n/0hji8/VYqqiobjBHDRcbmo0riWguRdmuaUFz/IPHwM1QYZn0vEdKnbAdhDv\r\np02VN8yBTItz6EO4/hiM8lhC3mc8YImET25pfVfdUUYcB9al2JtZucPQ8L0f\r\nxuHoiPzbuvoBGDIvCwmwgrn9e8aM183BZtU=\r\n=wtmd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.3-83f9882e.0_1662463831654_0.06292849239241538"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.10.3-051da161.0":{"name":"ipfs-grpc-client","version":"0.10.3-051da161.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.4.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.11.2-051da161.0","ipfs-core-utils":"^0.15.2-051da161.0","ipfs-grpc-protocol":"^0.6.1-051da161.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"262c2c4e56b8de0c602251e9ea0ac3546fd2e28c","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.10.3-051da161.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.0/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-yGCQN2zSYQcXnRlrFNMg1k2Z3XGBRX4N+LfOh9mN1tr+sfB862sL8vnIkV5jmOGkQK+AQIuRDHo7YYe/fm9Kgw==","shasum":"fe72c5c843bc95582475c995b3fb84e7152d93a5","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.10.3-051da161.0.tgz","fileCount":58,"unpackedSize":213036,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCb/M6DPKAkE3NTUTHWkDVDox4xw5PJLJ7uPBLaoB3NlAIhAM3qev1udassAFjRmZyHt5KO0hdYDlaNfgIbIxDG4SGM"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGJS8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAsxAAjL9IPWWT2y1oqsSr51CzMN+ifpHfb7GF5FoJBCd6zEqe1LfK\r\nEgv8Yot0wcyTJ/57JQD3yNTQXGn1QSVRd4Jog4cGCmgPss4j+djLejVjyGkz\r\na6ZrxoSEMOaoqyw7NzOw4KSSK9iUQUfjX0otai85BMI5F5gpMUkBE9MiPXUQ\r\naL95/SE/st6YTGPzVv0BexIAfZdK4aiaTCbndS40ftRbl1NQap5RrrxheQjX\r\neSH21H2Y/cypEw0LOqrWbrNNxcCuhG10n44XchdC99KiHQXyamkNoleo8BJj\r\neqhxcwixRJ6OmQ/sIGfEvIl+VlbrE1yzW8citnf/rFDjLScooC1UOvTZW7Vp\r\nk3tA6XRBzpRoQ1z1AFqEqQKvgV+jVZOMu3ShncmUH6VhkmQ3HaYUSYse1dWF\r\nxccz1IR7Y/39dgKGi2AtYJaS/CGM5ZLGTkqxTUWYJlkHlk832qK4YewtznMm\r\n1tgzxlDxFVUaHDQpsSSsvugakvQSD0tNmVuqYDQwWJbBsUwMTE8seI2c3nk3\r\nKt36JdsLA90ZedDqxAjd4kF03n088lxcDUM7aKVg2vhEy5/tz7GzBFPcZf8f\r\ntrlfvvoZDgY0N+AY9bGYmTisXUtMhifDcImNlkfBkTHLwYV+MTGU7HHtbHux\r\nJ8V8YrzY5FTEWC+ezWhzi4Z7+wdhSTRbMHE=\r\n=T/CE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.10.3-051da161.0_1662555324046_0.8759770943728444"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.0":{"name":"ipfs-grpc-client","version":"0.11.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.4.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.0","ipfs-core-utils":"^0.16.0","ipfs-grpc-protocol":"^0.7.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"89aeaf8e25320276391653104981e37a73f29de9","_id":"ipfs-grpc-client@0.11.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.0/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-KJiBIep+ansDKDByyg/3I8+e4bf2Dj2CovLtdrgsfIP94O/m97++fo7QUxMzUWAYRXv4YAVQPc3xzeZ/3Merlw==","shasum":"70e8ab0cb5807a4a3186b0fc082d0dfb3bf17e92","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.0.tgz","fileCount":58,"unpackedSize":212992,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZNB6MA0hF5uSEVivXf59L3ddBLjOuaVJwIZyT0iuR+gIhAKK1VmS7kQ5BtWL2s4fatnjQJyXK8wGhA297FOMuXx9O"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGJ6sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZNQ/+IcI6JZHv2LLUj3G87eAWDzmQrlc81vs6C5CS+DHnXEL+gYWC\r\nB6/UeZIHTr3cbP6rM7Z1SBQzbs+d2Oa5vb7PcJj/WufyN+/eSbFvWBnvkj11\r\neei4xCCAgqbgXYPdk6Dx33toreBf3+pgv/5uiB8QGcEL/9uWp5NyVD4X61FJ\r\nEG06o0R6+qJg4u7n2/f/mBeymJIIP3q6Ux4waqrRVeSG9dsgOnP4t109evbg\r\nnefKmxvdD2njviAhomiSLUfMrxMj4ofZbb+ihtx+E4gypVevvHXij/n7Ti7Z\r\noJ4zfETmOqa+czbfW5oX19vP0OoOExqTKpv/XTa7E/ptLwgsQO8AMXnnzgrp\r\nUjAZv+mkJZ7CKgkJc0pK5gsgmGaeM1DkM18GSXIyuFpGHh8pFtVjBf+t/9mD\r\nUzyTht4YMfmSwToj/TLzwL5ZDgbT2wDo1Bui8xegVHaVvxxjeZ4LilqLCMXa\r\njtSgwwM/6mFi2lIAO7Oe4thDAu+z1DvTLnuTuo1KC2eezPonjz5XJxORMrOD\r\nPMi7sdOBD0LYzqkarB2Aazlvmi9AnvH7+FsGwmeZS5C9KL9sfscOGV8P5ilz\r\npR37Sa0Myi16njcUf1ee562xpDILg462NjuW5VwYn1BRDbdOHtifZYeUS/Ks\r\nojq8ZgYFkN1JwBeqZEbqF0gPEUMD/bJiwAc=\r\n=2g6f\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.0_1662557868147_0.09600258325217137"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-b5456882.0":{"name":"ipfs-grpc-client","version":"0.11.1-b5456882.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^10.4.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.1-b5456882.0","ipfs-core-utils":"^0.16.1-b5456882.0","ipfs-grpc-protocol":"^0.7.1-b5456882.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"bc139649f4cd3840696282fa6dc6b241b9ea1833","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.1-b5456882.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.1/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-pFymeXbqLmRM81KoTHuPe4zuFElyOXTqkRYQVi/D85J9hrtLWLopn8q0BUJuRBCRX2FsyD55eFfromhbUjJE0g==","shasum":"49a623e7c9b7afeb0546af7629580b5e408cb82c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.1-b5456882.0.tgz","fileCount":58,"unpackedSize":213128,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGPDzapCytzp8j+BlRN1qGbXbbCzTrhU8mYYiE82qb/AiEA5+Nn3nx+B5OtmAMLYJQrMQIPlQnuObacjg278rTFVDs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJEC8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNWA//ZqW7Oc5jC+4oi2P1W3h+jMJ1qsJKyx1w/O7TYCwyX5OZg7yq\r\nTYezIFi7DYBfhu2pBzidD+1zHa1AeO/KhduZDlKA+jeH0NOfSpQE5FOO9f4X\r\nQEyGHMQQM6Z8op9/Cm2d7PQeidIIVwJ91/rGdwsP5DlkcmA0EdMwKNbZ1KlB\r\nUcpb0hQNO1HvqRJRMEbYOJ2EIcZ/pWeTv9qFpwGDfpiu/DVtTrCrg6rxQFAK\r\nX4YiYyM0KDPFnXoJhxnokC9lsiZfZIxR9f66bQPXJhlETvhZkfJooGBmGSiC\r\ngBE6+g47J7XtM7CJucSnxoHorXgxF6brSPeCq5S3V9gbEYj3uyMdVy0doTia\r\nF8WIwesS1whOWTu0EmFRECHx2dDRQ4cti5UDD1RY3IcGZNUNzPJ1lUOSt+Oa\r\nB+F4K5T3DnRHgJQNKiNJHPXF6PhYoRI6cvZedZvtW+QNMQAeayfnloXex8xK\r\niKOtaeJSPeA318AGE2Iy+bALSei2zzxvr/BSxWTJSUH86CbtWKQ2uK2abvOe\r\n8gn4hIIkm0mg39Omb59cBXednfUpUInLqxx9AMNz3cdwL/sfqOQkGBAIVf9m\r\n/lNASmehXlxSmW5zhXqDxQj6BhaqseFbuQxl+ILaag+unob40iOezCddR+66\r\nJQ/p5CglgNGglsuDdWy3ToDtZrXkswjKHMc=\r\n=1Ve+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.1-b5456882.0_1663320252523_0.7326623993016872"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-7c676f63.0":{"name":"ipfs-grpc-client","version":"0.11.1-7c676f63.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.1-7c676f63.0","ipfs-core-utils":"^0.16.1-7c676f63.0","ipfs-grpc-protocol":"^0.7.1-7c676f63.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"90802df6c68ef286b155c31dc4f625a9f29ec7a7","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.1-7c676f63.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-UghMaVWWrEoVOBvRRIEaTPr14mtnwOipF7FZTn6KG3AuvlXLDXY6qtbG7XyrTuW1RmQ+2aijudd1QTc1q6kyDw==","shasum":"f7224969b510e37df7e97f2122f167bbd16667e2","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.1-7c676f63.0.tgz","fileCount":58,"unpackedSize":212671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDLSZipJk2wXinYN+9RzJTmMJVne1LVsEGZuzmdUzx+hAiAF6VnijdSKBAfl52Pm6dg9IwKzjnWg1UEUmV6eICHhHg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK2MFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIjw//QWhUHDcqe439bxuYnr1vKq/kw2VMVnIlpbbgYYSA87FPHSwR\r\nCYHXI+L2BYvBB7I/CeUoWczFj8ZkMwJ568YqEEPjIyHxQ8nRGv4RQ5trxAY+\r\nuvH0q61/xRFc/tHtjB2Wx/mnJD1pV1HaaioTTvLOAfVrTSVKCuVB9hEY6Og9\r\nPrOjoo8+tV80hmInpzq2AkBufn+BZgdqazxIq/2EHHNTHBAVD6/65I9uXdD5\r\nJ1EQe/cPya6G/zw0Bd8j9vTevhICCQE/Y3nftDjRSzY4mnIvf40aRXMC3Gqs\r\nI+adkJsd2+joOb0Wsht1xQ+spwl9rDMBb1+70QeKSDSC+oLbHbOwSeWwf/ue\r\nX5Sh4sb3yFCXc3l4LO407nv/DnVlXkhfzlWaWmyZgqdFJkE8uYSO3J2UL1gv\r\ndszW6jCUvP4ELekeYEMIoMARE6JtVOkmLbrHzxs0keDvdlo5S8jLbekrvCeD\r\nFSoqcXIMmRl4kiiAvvGLL3WCmuJxxRiD5mhK+PISDPomf/y9lAY1RPHQ4va9\r\nzSCPtqT0vwxVVNJA+6RlieITuahXxcTadHdbNK6TK/MW/hr0oPxaCUYockja\r\nMKZWYWgkMC6UVKIC/Yg6ulah0y3HaGsgTFFzvEZIGdfL54stCF6tcOvA5vyv\r\nEiT1ZeU7pZYbhQb02FAmZAI4deIw1GSreNU=\r\n=3C2J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.1-7c676f63.0_1663787781674_0.296447169056248"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-2a830bf5.0":{"name":"ipfs-grpc-client","version":"0.11.1-2a830bf5.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.1-2a830bf5.0","ipfs-core-utils":"^0.16.1-2a830bf5.0","ipfs-grpc-protocol":"^0.7.1-2a830bf5.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"ec3e046a48458e999e557f7adea92e304bd7b0e8","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.1-2a830bf5.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-HaW8f9bbxBj2NYkQox1J53lcROExaQpj88nKEIEMPfnZcK1x0ww0nUNrqFmLG/+YqRgXqR/ICi66FPYw7uTcSQ==","shasum":"9651e34f598765101fc9b44c99c0574870d1aa2f","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.1-2a830bf5.0.tgz","fileCount":58,"unpackedSize":212671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAvNTGKNK6EHGEa1qjKagPrPoRmE7LPlvG/R+okbb29AAiBtdfYFBja3BmFbxYY5qRRyBH5sQI+zpbJm/1I3jq/ojQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK3noACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSNw/+IIphmZcJGo6HA1gtRELe9hWfb7IVcEdZqi/wK1vhhwvpaniM\r\nlt8e22w1BczVvK/GmRtBIO1LYpaVOUq0ZGAoZZYki6veuSvt2a/PAa6NwSTU\r\naWS0xDE7PYXFVVTLJtrF5Fq1qbGvoxsLpJFfhN2xuclJO0jyYDHkJoKWdajN\r\nh+iHqXBaK3XjrejgojzeNPSOm5LSrvEwpvoC6bNQ/X3xQUN5WQOzrCkfqmkC\r\nFUM3vzti1TST6jJAI3I/Y3Icm8NsBjYPbauwD++NuCH4BF3hcJNlZk2lphfy\r\ncakBy+jPOuGsNuZL/vwzfW0uunJysEdb6LmahITKmLnr8F12AG8s82af+5iz\r\nnTlvEpPEGSc/h5QfxmM1nzhNmfQnFf/gp12JNKzwobFuCUc85nHRLA7SvJqD\r\ndWTEsOzC5qMI536fNdRU26fhxJ6SqOyPkaEVHcFLr6UTvdMtK9vQREOG9Lfg\r\nhKJ56J1Z9MCjloqDfue5UCdnExLVnoInOXxI/bTnYnXavYS9qL2jLHrn0IMQ\r\nG6XLMccjD0ga2Fh1bGnmHN5b3giDNsy68cqlu2efD6keXeOwNT7sMGtYA/pp\r\njGJkzu56fna72cGrPjhfQvMkOlhgx+Y4udd0N6ZtxiGT1QOt7rcG8t3LAAir\r\naWr+Xi9BAcj5Ugif5E+rfG4zpJkAmaLiy74=\r\n=olJ1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.1-2a830bf5.0_1663793639919_0.561380977109601"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1-7304a0f4.0":{"name":"ipfs-grpc-client","version":"0.11.1-7304a0f4.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.1-7304a0f4.0","ipfs-core-utils":"^0.16.1-7304a0f4.0","ipfs-grpc-protocol":"^0.7.1-7304a0f4.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"95735ef611dd7b897d3d939e512b6229757532f3","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.1-7304a0f4.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-p8G43Y0J34ahN8ikR/TwyT7O8I/CO63eun1jrpQg2DUbeJuoPslvspYWsU20enU/cEdrEhtXtYzD0Cf1osXzrg==","shasum":"f9f34c558ebf38d21413fe13e6f3eba5b84c0c9f","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.1-7304a0f4.0.tgz","fileCount":58,"unpackedSize":212671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmeYUsxO3KbBCxsQuC2FS23e0qwv8DiZNwUhxD/qG0RAiATvCX5nSUJ54SheisXITLxFBa+tPEYuu20yWM6bROgtw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK3oSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpiOw//f1rX+V/JQJ2nzozdV5oxRVcDe3P6zqUq9IZmxov2Q4R5t4rA\r\nfMTiYcCqy3xSeB7PHKRSJoORj9NgCIM9qGCdvohu1rX9m1tj9070kIOneRef\r\nBwTYWqZki9mUpCDWLWRB98tZc7j6r3vrn7mchCj36L93hqw6oSnCcJy7m/er\r\n5TP3fA3N4FPg8TV41DX2e36Kxc9Fgym2P5ZInqzKQCkgoxiBoSGsvvexAFUC\r\n0UKT5Lmc9wglMF7KkhVSez9iwQC3ezSELkVOA5TW1tjFpHHRJk72KJtucjUU\r\n5+IZrgobNAB+GKIpQLI9Eu0+AyE7tFK9jqE0X13qv0gXqTqmRokYujioAfmA\r\nqDFZeVT+EERZacTdSrGbZxdIkBMqB17lvXmrHADY5QxgDQ4wrw6er9loHAEf\r\nROhqvpg071WEqeHSwAENldq1J4ywMKPidNafVdfaDkx0nItCRRXMyV0mwdF9\r\n+5vRJaUACq+gGssZrn8a+bfrUE/+cXS2+VmfeQk2EfnoaUCKMJjB8C61HJm0\r\n3h+5EDy/pR8Za13aWuY+ZPnT87sJ/GG9fqoU9q3A69s5kXSCNVqa1KGuA5XO\r\nkStwlmBa6jQt89dbCe5knP4n3vpDzORb2FU5ewKq6A8/E81XXxbEv8u9Rasf\r\nQpVEiP2JVB8hoFDiKM5/7FObX8LXs5qk/NY=\r\n=6JTq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.1-7304a0f4.0_1663793682718_0.540870287884555"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.1":{"name":"ipfs-grpc-client","version":"0.11.1","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.1","ipfs-core-utils":"^0.16.1","ipfs-grpc-protocol":"^0.7.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"d1f1e75b2060c5c2e64d133a7a6bbabd2641e5ef","_id":"ipfs-grpc-client@0.11.1","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-/9fTl9HPas2S0E/dhFEg/GBFu116cpyTTUovfP/5RVN1IhTlpVuqW/ld8GtxwOgKvIjhu+CJEWb699WtJyw8LQ==","shasum":"19d88f10474d329cfa6a60805441ae26cc69d026","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.1.tgz","fileCount":58,"unpackedSize":212627,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG9K+ClAwaU2HdUaHwJWyJlIYdGCHoLzzMGlBLDB6O15AiAvUeiqDiidDkd30cbyLpgVhid7+eLX4G0+fzIp/K5Dgg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK4gvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmomwg//Sl5pNJ6dbDaB2y2NKYP2J/B3rsM+bwLWej8QN1UEY/WjpA9w\r\nx2EJrYYl2zpqzDnwGiKJV3td72o5jtSYzUTcOWP9VPGTp1v5rC8Dk9Io82yo\r\nnmaZ5pckHwtgXBV7iOPfBiJRPRe7/FHW+rYSVvKeM9kLgn4B4RJIXDsTKVRL\r\nDrZHafV+VYlaq1l94CJcP8rRx/1DR0sHYrvphqayA2gjYqM25XejoHeHqFkU\r\n/O9laq8ILug1gzcT2UP3yV3UAREdAAMXxPXBaNvf+ROGEn9OWo7Tgb56rJbO\r\nrK1YcGPW0uhga46NIDvgC1G5NM1kavO7uVScgqjjkEz2QWMnk0lD6Norr5RH\r\nMLX+oJB6ZOt8IlgeTwnDghskuw7wmqSW4Dp9xE08GrwWzGHlZmFze/z+xHjZ\r\nfkld30pW426fk4A0tM25osfAvPtEYXHDVKBkUl44o1v0Dae5suLsCwz+wHgo\r\nx9wMTNNlEeKhA0ojkGK+B2sWr6ph+Py/6vXkhVqFpLLNu3+5klTySkhXjrgj\r\nNWQGMAl6HLUxCTqygpanA0D3FQUxlDNWKdxthf9NHE899yhBC85/4QhLiRRr\r\ncz7Wj8uZ8b4O+bOO/c0BbyJBhZvrrUe8ZuuP9JsTkz6LOK2egiiHLOQHTbWV\r\nwNdksTkgH7C4YCAy+irXyqCXDeZgpu6a3TE=\r\n=FbcS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.1_1663797295300_0.4646792573001248"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-d75e0a39.0":{"name":"ipfs-grpc-client","version":"0.11.2-d75e0a39.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.2-d75e0a39.0","ipfs-core-utils":"^0.16.2-d75e0a39.0","ipfs-grpc-protocol":"^0.7.1-d75e0a39.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"4233393ebc1f8526290235c1b52f4d459ff96e1b","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.2-d75e0a39.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-dRGtiK5ATpczBnGPzBGkCI36HoAiwOrxSTTA6otpqMIYwkdNdrJN3WzEwQ+Shfv+c3P16DoioR2X7CYAkigAQg==","shasum":"a436ef2798328a1830f926e3801094e449851730","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.2-d75e0a39.0.tgz","fileCount":58,"unpackedSize":212671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQpcL9uVzD0ZZ0LgShbyo9/VmR/94RLEokT69STsVGFAIgKvHcMk00WoRh0Vq94d/FDdXZdjB/5lPz6mBOipbWiJA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLCI3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYzg/7BH0mBlLqJ//2BznuBfPml87abW+AKOd1+23n1BichPfLmxCN\r\nXqOJ6syVtttyoQ/6e7M0iyig+up76tM2uhoIlgIZ5ZqpP22cTAtuDUE3E8Ez\r\nbtxmWFizhW0wViDB8SuoRaCQeZm14vk51m+YbjTq71m7DFJlW8FTZ95RC52s\r\nKIUCX3dNBgZrZT5tE3EtRizVNQmN7SwU+P/zn+nkAelYwkfmDy6Ixl+Fojgu\r\nkjYLnZn+Eh1E/pGoVYQckO8JKw//+D2Tc2Gj32H4vlT5fa5n3QGaimBKN9XZ\r\ngkWKm5NvUfxnN5fJAUwDgBcDFQE7GegFA3xbMDY6PqXGj/AewxgHFZYmEsub\r\nIvHx50RlIWl25RoLlkUkU5hUwZYNZDelfwKlyWg5SBiDkeZCJ/hJ+iEZIpj8\r\ngcfIvb7+lEUOBghdn9NjsCIu6Q/eptv2QyozAq0fCXDv674UVv4thpVrnexR\r\nwdYnGC05ixbJ6g5eoRVZugaHopIL6FJkC2S9nfibDuQ6HsHrkE4lXhEyYZnu\r\n7R75LoKcLfzt8o1aukS7+yKS4F/Tus697VFH8muBgZRLEwCQSOk40PJJisGu\r\nIjnO479LimTo90mRYR7jtSqxkUdKnKawfVznJz4LBcg8f0s9rsMaPRYAQgUZ\r\nrnV56w6+BUPn2QodYS9zRj94BFrNz/UWIcc=\r\n=27l9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.2-d75e0a39.0_1663836727272_0.571928645233529"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-d1b0a8a7.0":{"name":"ipfs-grpc-client","version":"0.11.2-d1b0a8a7.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.2-d1b0a8a7.0","ipfs-core-utils":"^0.16.2-d1b0a8a7.0","ipfs-grpc-protocol":"^0.7.1-d1b0a8a7.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"de2a2b2cb3fb26e858af2319c63296a1ca411c25","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.2-d1b0a8a7.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-mLXD0NjmtQaeKroDubO9vXoHoEq0jrGCkWx+YIaN+okWOvPGDNjqmEVCaBgJQzmMEYey/iS4sQiesw30dqIDpA==","shasum":"5a4fd1ba2fdcc113a53e2fc39713240d76f890a3","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.2-d1b0a8a7.0.tgz","fileCount":58,"unpackedSize":212671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHEcMf38pIXl3MyHIKb9Pmyt2l+3jtwmd3ZVz/bmU3PQIhANnzUqc66Yd2i/t6Pc43jayf/74iIE8NHOoa8DniXLUb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLDvnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrHBRAAkFWcf37pSJHzLLrYEdOhsxNnba/ZLLcpfc6UyS4oYIHiJsF6\r\nmrCBzzQBPT1NKgyD0vxQYHKQASmNjSn3utTbQs2p/ea2Ene1bOn+B4RxP7jF\r\nI+H+3lx7JIbQN46q2OsMbSVSUZ5CZcU4VqOA9x962dY8oZz7tHEjTAvOgkxH\r\n+noEML/JtmfvCud19i8p501DYjTfm/PIyx3fueYBYahB1v/VvXYqONrDzu7l\r\nHSAPq8K6zclVAUiRpEJA0pJtNI8zWpT/o4OuNCjhl/ThDr3/qRHEYvW/JRsN\r\nzMP+Nlu2iQrHsvw/EcocDGo8pBK+0efQcdFHNXb9hq4uOn6X4kWYXVualV4m\r\nBx52BFFRlP2ME2bW1KbTKYXNLKM6lEhrI2CdMeLyHzyNp6N23RKTt7xuqr+e\r\n8B62uHOuCkbtwoe9Moj8Ael3xkNLc1K6ZwkRSjn0ixXfG8NWsID0508A1lCh\r\nvZt2iBKQ7MDZazA4SepT10YG1C+s7NmmlXMkRmTAfKSt76wLbKYhSkd2/DQj\r\nNXLCbsAso6fWDHnw8EpolIPaBTqdc1QEbMuYperNFWKPmOtkJUf14lQq98NF\r\nMp/kWs8b6tw2lN6rW7j1PmRpTe8vGjaOC8oYH1uGBqjslVlYzhn+wkf7S1G1\r\n+qhK5MDPyQxPsERbElmeTiu4p6gubiuo8O0=\r\n=P8oC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.2-d1b0a8a7.0_1663843303334_0.767535342861885"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-acbc1c62.0":{"name":"ipfs-grpc-client","version":"0.11.2-acbc1c62.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.2-acbc1c62.0","ipfs-core-utils":"^0.16.2-acbc1c62.0","ipfs-grpc-protocol":"^0.7.1-acbc1c62.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"60666473159284a7bf9067d10436033caafeef5c","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.2-acbc1c62.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-kajCzmw62czrKh2tnKU87sXVyoWTglycd4yHz8prUzteUJc3V+UdTnZt20kRKAJdJIVE8mvExlHuxNlhwi/BVg==","shasum":"cff90e7003c744139d0f2f3cf1f84b78c3b6cc3d","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.2-acbc1c62.0.tgz","fileCount":58,"unpackedSize":212671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfasUr9cmZa2AG6MJ5hjViKGjvjnSw2TlsYIreRbJJWgIhAIRf4NG/Qh7alkqHzZ7NUlop/Xdx+bP6M3wOhHGjiLjQ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLFxGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpD4A//YwChmIU4rYCphVrNo07Xv6iVuOybyjXoOUIBmv44p7IWpOcV\r\noIH3Y+380k5SaKovKjWbAZv2Eo48BkYAZA8QkWhSDszodRyMi7zyVMDvEW2S\r\nUbIHSISm5xnpjwbpb8hmd+xU75OSa8JTRr8JbOcVuDERUQ9tI0MdInVa/5KG\r\n46offGVzlHK/lJSzvdjtxMMHVL62cC5OjU+y11loKcA4Jms6JjxN0NS4K/d6\r\n3gJPKEqP6n3jFHbZoQxzd1c9fZgr1rDaoJIp8Yg5s0V8vKPE791W6N92QLGQ\r\nL6Kg9h094Ql8SXQLChj7UMlrkZIqhPSE4fQxrvYobpT79dewjwOnkrHdzOlp\r\njrSIifi3nPCxgquZR9JQ6DnQBs+f8jvldiREUi9mqWpeSQLvc4abeItj6+Ze\r\nbdfnklSzSZzO7FWs//cs+KsqtkBGhxaK9uhUPA8kf88vAaQwE4CCiLupLBaX\r\na+fl+rJNp8AnlgiwUEZi58UpoDl0arr6W1Hnq+W7SeZo8kYozHLmFOvNF5Wn\r\n1A8pp7KehXbGD/8hKujBLsWk1tdlkmq3tNzL7ag74FZ0wqCezXGtho2c6+97\r\npb6+nGYExGeHJUzVkDuskU6nOrzkni78YbklRdqwsfqijiH7Mvm0pacz/Cbv\r\n2Go3/jMMzudyfyl8mFqk5mNFo3cAqDFGORs=\r\n=g5I+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.2-acbc1c62.0_1663851590466_0.24949167832502583"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-dfc43d4e.0":{"name":"ipfs-grpc-client","version":"0.11.2-dfc43d4e.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.2-dfc43d4e.0","ipfs-core-utils":"^0.16.2-dfc43d4e.0","ipfs-grpc-protocol":"^0.7.1-dfc43d4e.0","ipfs-unixfs":"^7.0.0","it-first":"^1.0.6","it-pushable":"^3.0.0","multiformats":"^9.5.1","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^3.0.0","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^1.0.4","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"4eac92ae987d3ba6007c4742456913c865a06857","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.2-dfc43d4e.0","_nodeVersion":"16.17.0","_npmVersion":"lerna/5.5.2/node@v16.17.0+x64 (linux)","dist":{"integrity":"sha512-zln1Mb7ImC6iRYY7EYrFyz6M8SXfcqZ/mVM5Lp/6C19bMBYemoajiF8nRvmQMIL955sqgN/P2QGOxjpyWVI44Q==","shasum":"27f2da3733ace6c5ace344b753cd2ddebbf79b5e","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.2-dfc43d4e.0.tgz","fileCount":58,"unpackedSize":212671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLwfRpz7uYtJmCetBlr/qqyIPWvqotON7/dd6Am9hBxwIgIP4oH8T2uY8ceZ/7kv+PAIj65skG2S8qRgvMnfMgAPY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMbUhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiGA/8D59OhagTQmN38LErgXClRg5mu67dHG6tfgRyOWtGpNxdo2pV\r\nPDI3t/MewYQLP0yqDoAZHAEaMHIlin6Yl2MrUH7CuNPQ4yLlQI68DWGP1RDy\r\nEMqzzf8xTiT6XYnGmWXP3hsVOgcaVREWK6Xa5BXEf75okAlk4l6cmVI65iHW\r\nABuCJtMYe6uPoIZnWwjgDwOPj1IVq77olCh2AyQ9JHXMpkTnLjXGo80jOHj0\r\n+tYDR83MxAM4Eq3l8DRpxQMGrQpVC3j2FADOv7FwoCj9F1HC6ZCYQlCvuBWV\r\nWb9MMZnw/NaaV8if5Af/DxlYT/RyjwCcSe1GLYKczgFOONmLQY7G33x47Lb4\r\njpsyGA2uY/7uX8YKJD8QtLFjiDsyIX4SFOsw3E0H10pLgTp2RqvO/IoLJadh\r\n0ViQmYaIEbJwtaiGB6atoIuaJiX+O5XmqYcIpcuSxHl1gpbFE7u6yPswE8no\r\nweTpwzUiEvdZ44yO+dn7oaenU9kr/I4bj19dQIvvF1PsuERVQ2H7ZFXqH4ga\r\nl/R7cWidqJUNp8lxUdu8v9UjqHsdqYaDsZiNqoUCwmb4l6Q80HfbPuIDnrAe\r\nAywUb4m1h3o+TcJs91lqLqk2K1vZSiN6RbaMTt3nWUVwb05aelYwaIPoHz8L\r\nHXxNZFjCXsW5aOP7qwy+20xVl9dWFG+vvas=\r\n=WdIS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.2-dfc43d4e.0_1664202016917_0.3285667756136048"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.11.2-0cee4a4c.0":{"name":"ipfs-grpc-client","version":"0.11.2-0cee4a4c.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.12.2-0cee4a4c.0","ipfs-core-utils":"^0.16.2-0cee4a4c.0","ipfs-grpc-protocol":"^0.7.1-0cee4a4c.0","ipfs-unixfs":"^8.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^10.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"b44ea59fdb45d3e8532d6a2d5f670e2df46d36ef","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.11.2-0cee4a4c.0","_nodeVersion":"16.17.1","_npmVersion":"lerna/6.0.1/node@v16.17.1+x64 (linux)","dist":{"integrity":"sha512-zi7y9RouKpaU6eX9LTZQIvwwVd5ShWD/HOzeho24OW0fgB7LJ2TaAh4+0K2/G20aVtvKAMNvskjFtG+BqxONiA==","shasum":"f716b740d9b97cda05a82fd834e96a08f000e05a","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.11.2-0cee4a4c.0.tgz","fileCount":58,"unpackedSize":212546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBvsVldImNkgBbDp7by6rcLNOrhE7PdUW9lJ87dffjBwAiAn/NvE+UaRH47BtgY0WLPlIbVQeYYtCsw7MpL05BS47w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVlczACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoELg//SU+EBrtkOvutwu/HSbId5caoXdFGRX5GGxyXRvFFA9sRJVlR\r\nINQME6gr/c07Sab5rGDXrpBjCRGBQkAhr/Bswb5mRFUz9QOZsiK8G2/v4VqO\r\ndTWOPqspOHTj7HZDhmCg08CpcE0lOltztBg+ZUYU8VXK2Jr8zHReR4sd++qY\r\ndwAfyK7yrQtaBhg6Wj7k+QpRsNx8NuxlGbT32LAM1yBIgZTP9/zJ81CnQsBE\r\nCqYKMrgIm52oC+wmNkj9mfuHQ3D20+PWuNdYi82qimyxuLeDKdvA70UKw9om\r\noYI2t0Ry00V6x48i/pOpi9qNF3Wg+kCETR8nIsLKqLrjffgUpBceG/7KZ0db\r\nfeMiwGCOMjDajBFRxcjpLBkKP1DskDVNmg3dE3mJeh1B5bOAgnHCYwqQssII\r\nP2zDQYyuZxtlkIBpGzUsU4v4fonftTqh+tGcSaNgEKhSqpf+WL0Irt3ARn5h\r\n9N9LQ4qFoHPwGTD1PYTRKaQ1bxSM7vXtwypLFjRosWNwsB4oDU/ji0ERBzZG\r\nMoBa7mdtC1WntTdX4KckVjf0q3oeqcSMBdWyeg2tdF0MyTWFci6qUNTtIe3Y\r\nPBkA+f4EH7NoOsp62PqeauBayoh5IX2MicHyMmRIwx9OUrQtaMDn36/9N4aF\r\ntJeCDfItfpRl1bFGEscez/s1Hn6abYBee9g=\r\n=vTGn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.11.2-0cee4a4c.0_1666602803528_0.4734337168647935"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.0":{"name":"ipfs-grpc-client","version":"0.12.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.13.0","ipfs-core-utils":"^0.17.0","ipfs-grpc-protocol":"^0.7.0","ipfs-unixfs":"^8.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^10.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"e8b7b66bfa98c2a1c0d0bfc19f698d7d00b6c888","_id":"ipfs-grpc-client@0.12.0","_nodeVersion":"16.17.1","_npmVersion":"lerna/6.0.1/node@v16.17.1+x64 (linux)","dist":{"integrity":"sha512-qBgXJ7ctALRYDDc1R7DqGhTtHy9e7EK4v/UzN61ZEB1X3eMSFxofU+tCBNm6zT33xHvBKomnT5Prt70WEGE/Ow==","shasum":"356b63fadafdb82437f1c343465e0490e716a294","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.0.tgz","fileCount":58,"unpackedSize":212502,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrxLZ0r/jqG0vI8o2Kx7LeqX3918r6Qp2Q/Ui9NlNkewIgc133M6UHOaijo7YGEMRGiZQVjzG175KRTq1Oqht1xGc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVm09ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpj9A//Q3QkA0paVEISXU9yeYhN13qLrty2bw/Zp+a/KGaE0wdI4BuE\r\nTdjSpTSgLH7T8XB7FJd4mt+aNy5iWdVOiqsPNXuFW/cj0KGuNXqDfHWl3fie\r\nkw+DBQf9FkQsKio81OB9TSXc9wbd+6YpTv1o4QMb7hKyYn00UsqzM5t2qKju\r\n7iSz7MlG1NXD9eKFJT6lg+66AvKlBOnMf4L992Vw4ojJVZMnnrKs4uKifshq\r\nnOIM/f7Wpd1UION93gW313Z0uVz3Jviwppmlgso7LEEz0PojK+NCAAsK6e3r\r\nT2v2ZNKkmEc1is9FCq7bBwtys4aQEwuAr3mubxMQDJy8Pq+tfa7nbZ46gk1v\r\naKlWsk/Mnga9cLH4E9VL4bt7LV8ovZPLNvqVxPNWY4O8RmVlncLJzzbCJgJ4\r\nDBFf+onjvrcpP8apgUCoK/o8JLr+Iqn2M/3dPiJmllxED6eCXMI6M/vrtgba\r\ndFdWNDw3Cym4WuMsFA6Nf7Gq/uXCtRRt2cOMxQ958WAp5lYZkvRw801uNQzW\r\nChs5pwBpk4kS1BZPiJTf4pZZRxkFP856iSOF+XBblY0r9SMw6TruMJnDVKiH\r\nLDg/iktMaycsk0/TN+kAdeTiXL0aTdXXZokjT2T9llVU1YMH+rUrOXEAPPFq\r\nZa+u4iTK/fVZXKkYpd4cDbDnQCbanNMti4M=\r\n=l5wW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.0_1666608445429_0.219616837151007"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.1-a77e40cc.0":{"name":"ipfs-grpc-client","version":"0.12.1-a77e40cc.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.13.1-a77e40cc.0","ipfs-core-utils":"^0.17.1-a77e40cc.0","ipfs-grpc-protocol":"^0.7.1-a77e40cc.0","ipfs-unixfs":"^8.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^10.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"a614528c55b8b22866bbdd2ffcde2e38eb5f578f","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.12.1-a77e40cc.0","_nodeVersion":"16.17.1","_npmVersion":"lerna/6.0.1/node@v16.17.1+x64 (linux)","dist":{"integrity":"sha512-BR68tyyJeMd5GktfJUa2MyDvVLPtD1fwPifmS5nKCryWdRyMVOX/sLvlwi3jqxAvUiy755tWsQoGHqxUr7WdjA==","shasum":"c2c9623035911d57cea40121ad3bff964a566e70","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.1-a77e40cc.0.tgz","fileCount":58,"unpackedSize":212546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAPkm4m2QRi/gKyP8bk3OSG8Ex51NXsqv5dWggr6a/9PAiEAqRKhIGkUuWFQS5EqNtpUGdCK0udMlBSwczPJvfTGnGk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV4waACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrMaQ//feR0dHCDOLksydvdjCIwLgeO5o3sjy5lk7bWsthA/6v7wpjK\r\njhAo+A1W3bOaYMcn1fgAvuIPR+iaPAfFv5VTfO+LaHpT6IJCZ3oLi0Eex1gB\r\n8MUBJePSAo7Mp4tr2vDMBLSbxrjB5fZXd/wtmFq/IRAZ2y/XSqzDI5qvwDRs\r\nnZsrSugj1UdDwsmLixhDWiLkYF2ulpuehtWEqy32YW07JbUdXLxwMgxSUvqO\r\nY6QR15BOLEVqkyCxJY9iJB4riI/WWbPOSYCcgECAhb6iKOffP4knMFJnsZi8\r\n+YDui9KDdOm64AUEBwFYnl0dtiEDuJhJ+18swJn7mZhEZRUY+0oUFxziuDH1\r\neMl1FBQ+Wh+3hP5D23A0yS/IqVarbODBUspkR1NMH74VmB8ODad/hwkyHA17\r\nnumHb8OdQ3r7ybnQDKk8BcWSpaj6j1WPhVCued43PzV4N13OQkfPtZGHkqSB\r\nSPaHH2wrLDWHDc7eciumoOWOzWU1EtoUhwuviJmyj7iouZ+1HlKy77WREX7n\r\ndIxavSqxS2TW2Hako2OtKFcLdT021pz3wRRjWDmmweKGIhL0RXsTTprRaXpW\r\nwZvRqFTnpuztTMnRzbQFvH3bPWhkh5rgdjsj89Lb4iZEC9XPoduUFeLIpt8M\r\nikbjxfbIoyE2JPdH72XtkgVy8pLWOTz1/qM=\r\n=lvFe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.1-a77e40cc.0_1666681882614_0.030651657163696333"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.1-58e6f468.0":{"name":"ipfs-grpc-client","version":"0.12.1-58e6f468.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.13.1-58e6f468.0","ipfs-core-utils":"^0.17.1-58e6f468.0","ipfs-grpc-protocol":"^0.7.1-58e6f468.0","ipfs-unixfs":"^8.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^10.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"2a13d94cabf2e6ca2f631dc9686f03de6aa42447","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.12.1-58e6f468.0","_nodeVersion":"16.17.1","_npmVersion":"lerna/6.0.1/node@v16.17.1+x64 (linux)","dist":{"integrity":"sha512-uF2bLNA5p9zJ4MhizgBHkED4K34ds06sF8pmhiLg5nKxcCgpzAs1u8sd1CaCWPaI6NhLdwUxI/om/EA3877bJQ==","shasum":"df71a8b9322b9567571b5a3d47b17c4f8788822e","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.1-58e6f468.0.tgz","fileCount":58,"unpackedSize":212546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcdRxlvp7WOplWMdN5kDwZSOGvv3YuPQTxO+49LMK5HAiBpyALwlRlMmWE0abE9k+Lv85FJGDYq/UyfFNXx/P04+g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV5sqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNKw//ZrL8oDFmNfhNDqGt1UUtUJZ2mJ+Pcn+XgZ2SYtG4Zbp5l+Y0\r\n69Kw1EV3ShjN/yYlxouizbpjr7V7S2jKuf7UrGNL1tyEPkXvFJca+psQByvr\r\njtbozSgTprPImSEcdm0baiM+9wgTAaPkyekH3kYnw4WacGqAKwmm02qBYtFk\r\nF0baCHC4x3Xc1Brbc1fP4AEn8q29kMxYWvoJAgAjbMLgaaFl89lUSdS9HB5N\r\n8z+znsxYOQQpz7p9Eymjr5MF23U88WYAYmphSLKBbo69LZ7uUZJb4bM8oHwE\r\nV+uDJCXv6gqqgoOxs7O/UexG96WG0OJFy4bBczAWzA82mDBCA0x6/+Wk/AaW\r\n6lC3fEfjuKRfmNrVdTPlLLy38hsHDnqFoVlqYxKWyeweuXJvlXK/Dvjn/ZKK\r\nXu8ax8mfJHllr/1ntLxLGXUxJCgbo40hWyW/YAXAh0fo44NwL56EXFSK4SVD\r\nhlirZJvb8fr9VB/U89bvKlJbG65VgUSNpcJ3noVdv199+SZgm0JYjv9cy2Ye\r\nSvUqc1NAiuo/+jmkUjAbDCw71oa30nxWthYQc4fXO5nk8VOgIgYtT/ELlMZk\r\nS8eFRyGRns94YLva8YdqdcddIEVpOZCOd3Vp4m6e7NmOwlly0caFvVXCXJFj\r\nsYfw+7JUIDLJW7Mz/2BvWvRIEKEtglfG6Mc=\r\n=R+DP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.1-58e6f468.0_1666685738390_0.042337508935057055"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.1-6ae5eb7d.0":{"name":"ipfs-grpc-client","version":"0.12.1-6ae5eb7d.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.13.1-6ae5eb7d.0","ipfs-core-utils":"^0.17.1-6ae5eb7d.0","ipfs-grpc-protocol":"^0.7.1-6ae5eb7d.0","ipfs-unixfs":"^8.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^10.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"848f64d53ffe001cdf63310c06e8f0ffe485278f","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.12.1-6ae5eb7d.0","_nodeVersion":"18.12.0","_npmVersion":"lerna/6.0.1/node@v18.12.0+x64 (linux)","dist":{"integrity":"sha512-oqs5Ea8m4y1Yyy56oAp8Y1VALVb577jPZFviWpZDWBwCgavmONf8yUfQPhC0TgSe5tRyIJ3LTbOo3gFHUXfcTA==","shasum":"81a2eeabfdaad9ead6bbcf65e3e68d2bd15906a3","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.1-6ae5eb7d.0.tgz","fileCount":58,"unpackedSize":212546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC6k+zihywueaUZMrnEsL+3CXsbZ3nBreocw008/Tp3GAiEA9l2zvKx7IDGYTk5hZVFt1/xrIb5fSaOh/KGsviBCITE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjW4TqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAWhAAmn8PWsgj6/Ra65MnXFxLbkS/TfkdhX9aA2gt6fuUc16aKEgt\r\nmiZaKpJaFqEKij5Ltwhy94O8tz+W8muLq7JhvxvGqhYCP8jQ5scl4OyyohZW\r\nS/9p7RGVNjws1qb69wU0D6zJVsMnkTpTj1POhJzz9Zh4V+OU7B7h2mxvs6YZ\r\nMRWpT8EHDuK/q/vap99SOiW+h+3bd9Cs+EqiyvR4W1Hoak3qQkSCsn9vi0k7\r\nRgfQ78x3ZXat5SWq7cFAz36QclkkZY8+V0qWx0Ff8PZBTv2WFrCinPRMdULG\r\nwosu0Pj6BuSP0eJ+tRWagRNREyJmSpZYxvTTzz0CE8ETIjza6AgAByWj6gIw\r\n8jviBC15AZlVlCpk2UV+b+RKX7MnAEtqeVBOpz6+NWav+ZwYL7UbMIAyO25z\r\n0FOG5HzWWKvQse6B44uC6CYOtTcXPoax13k0Mv52HFpz+Tkr+IS/Q0iDXXx7\r\nQc1riI9ORULzHWYgpxEbaMujX4vL11y5AJIOwWqIrZizaBDWvOUXalwkq4BJ\r\ns6+oWvh8KotwP8WhAns2Sj61zQ3VYDnI4agTtn2XGYSotcVJL906Il55MVbo\r\nlnjiqjDLoi+H1MpWZmLwmRyVIxSfSvAVNZG3kiQ7CGDyrPSwylNUB/d8/LaC\r\n7hbZZ8ZDcAg0syt942oze8k1ln6v/5O4kHo=\r\n=nGEr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.1-6ae5eb7d.0_1666942186561_0.644002421031038"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.1-6be59068.0":{"name":"ipfs-grpc-client","version":"0.12.1-6be59068.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^1.1.10","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.13.1-6be59068.0","ipfs-core-utils":"^0.17.1-6be59068.0","ipfs-grpc-protocol":"^0.7.1-6be59068.0","ipfs-unixfs":"^8.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^10.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.0.11","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^14.0.0"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"81311d5fcc6a5512ed3414aa592bdc9e6c481b03","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.12.1-6be59068.0","_nodeVersion":"18.12.0","_npmVersion":"lerna/6.0.3/node@v18.12.0+x64 (linux)","dist":{"integrity":"sha512-akbBnsPFr00ChwfTkaX+FVY2lH8I+2+UgH73EQGQf6ixqtfUHiz79WLO+olbWacIpaS0tOIQkGZA1mm3rrA7LA==","shasum":"04c28b948359270e9d5cac6e2a53ef5541e46230","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.1-6be59068.0.tgz","fileCount":58,"unpackedSize":212152,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFK0l5R5Pa6M9GsUW+lEtPHNjtMl1RYPcSvDqWtVxpQGAiB45Dh1U0LpL3qNIL32Yh0ULx+xLeTUu60Apy1wDMdomA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdo/nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYvQ/9Fyo7+E2J1SigD+8Em4uIAL0gnij/RenMu5asj8snqMn6KXUB\r\nvHZ7itOPl2uZRidsSSfSEWoPs9NjOMuxI86Lman+vuRjwFhw8VfbBVuzW09x\r\nJiG3pQ3NoQ0Pmx0OYGBXDwPTI6WUXJF/TmDZaLX3LBZk6z5nBlDSHpOUPL3c\r\n+xsdM2IyUE+t4rdfOY7fr3QYxgPQINlrFTJ5cV+V76Nx8sOCndAsh1ktmxcW\r\nOLRfEjl+4QHivaVQTPOkga7/g2UcoMdyiZcyE7GMMgcq2fHG7/3LeegjQyFl\r\nZlbfWHyfrRJ3SYne0CHxnkfLqc1N4SeUUjy8mOH0r55ZhtLy78qj0AdPOhVF\r\ndzA9scdA6lGvRcbCP/FqlVrZcsDDcqO/ZZVoF0rA51fA30lmQmPEd9Fa9JZj\r\n87aSc4QxcAY0ru4bzyCgF7cnEcVeT/jIa7jrPGO7IxuzmOcmvKGMHRjv+NDG\r\nfWujWJ9NVC47owPlbyUr+6+wGria2+dcL8JdF0dR1qj6ASLpGf8wA2vnHl6u\r\ny3lWfB79PZVQEh8rAK3TbOj9fwsoiGeBSwlbTpnuaR/WesxtAhTvKM6e2GCM\r\nJb7jALhXMOHxCpUwLPv2yvyY0X8uRGBO2YR6Tkv/znFNpQTASLp5yC9hci1t\r\nhtbKUzboaR2Mw7FlkIczHrGeyQbfF5XshXs=\r\n=m3Mk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.1-6be59068.0_1668714471052_0.9675758456198664"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-563806f1.0":{"name":"ipfs-grpc-client","version":"0.0.1-563806f1.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.0.1-563806f1.0","ipfs-core-utils":"^0.0.1-563806f1.0","ipfs-grpc-protocol":"^0.0.1-563806f1.0","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.9.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"19b0474216e0a7dd7363dcd6733379790b68a1f4","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.0.1-563806f1.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-qdKZ2wNt4qEzUx3duWD0iiOIDWa/51SFmk1lJtUhoVjxTHAq89ADRz7e1LeeI1wQVyQqk9m9H7/uisG+nNquhw==","shasum":"dd1603d0c6d69e4627555d6550bada1018605dd1","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.0.1-563806f1.0.tgz","fileCount":58,"unpackedSize":212140,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoWx7SjxVFH9l2478ly2NgQcJpwcrYI6R0WhN9jzP0xwIgILBPH9X/tks/5gUcyc0euCSLfZEumlTZnGxvozYQemY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvFi9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5+Q/9Frhbw/E5415yudr0UPmjmA9kxbd//hANfo0YN5/IVqq+PsSX\r\nU0B8UcqZcn8SFBye3Qr2GLsVhGsqDpah6dcc6zmPZo9A20jsM79tPGA5xTqJ\r\n4ekKPlVXr3/lwhBSe9I3Jw0NjGIhrGbw0gIlHXGVsad1zneIjQiKO3ACep57\r\nFD6jzfN99bTNQTqz7t9eks/ejZv5ZoopN9chhKDMaZTha0FuqYY65MgXL4TS\r\nEZXuC7Uzu9vaq25PnKKfw3BBM8Mxaa4662+RvOi+NxMKsgO8uGgfM0wFC/B0\r\n800TwGtyog7v9WjPd+8eJMwxswbHKiCsrY9EJbZDag72Qu36BMsgh9kD2Ywx\r\nXZ173y28p0YSw8L18xiRSROlFqy6SSihItOT2+SJHlpYW55SNPXST2zwp8o+\r\nRCmRjvTn/Pe0uAYD+2gZLmAxHOS3cFY8U1YxKk1BAzXdRkaYCsxU1fBX113o\r\neZKkpxACQNuvR/D5iO24S9Mgm08oR5YXkgShzY+8O6jgBMTwbcf0qk3zHvBu\r\naB8LF/1moSgkir0UhMfLEHSo1iNEZXAlblHBXlY5qccl5M76j102ff+4rgMV\r\n8PbxXN542brnpzjWRB/Qbrgt5I0cGrAH8Ch5skw5F/Fap310Fr2i41psDNBQ\r\n8JVAEXQCwORcz5PLMEUq/UvM0lYv/HavDxA=\r\n=FBWA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.0.1-563806f1.0_1673287869655_0.4939596573878928"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-e85e5b6e.0":{"name":"ipfs-grpc-client","version":"0.0.1-e85e5b6e.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.0.1-e85e5b6e.0","ipfs-core-utils":"^0.0.1-e85e5b6e.0","ipfs-grpc-protocol":"^0.0.1-e85e5b6e.0","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.9.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"5d268429a92d15e22b1cbf7fafadca662b131420","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.0.1-e85e5b6e.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-KBeaNtrU2NSFyYJNN0luNM6e3yZxcSEpbJntqMxZr8Zc+8i7mzWCf87/goTGSEkotymAIXyx+iMpgAwlCiIU7g==","shasum":"3178998aafc54b02eafd7b0efbd6a2fc9f1a280b","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.0.1-e85e5b6e.0.tgz","fileCount":58,"unpackedSize":212140,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDaqsGVU7lG9aDebh1TgMkMwB0DPrw75rSvOX4G+JJKZAiAMtqDaOgRQ2y4tnosczuATC9G7YKNZ7RtjML4U88fEmw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvGftACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLtBAAlSdH860rqUyYyXcB2921VafAM5KmI5KQJ4GpZ+6dGZvPdAAw\r\nIwxrRSSnhgl/HOjTJvatY0TF0B2lubTed4JJtYVcBeAm8rQFPwoD2v6WJr3d\r\nIGB9eytUZ6IVLCcH37zJC6cG2+qicxQxtlpZJ4JQ6bP5vKrK7cBT+QsB9ow7\r\nlkRF+l21aCIZqFvu4eCk8y5OZ+cnaQD7ZWqeFVeNY6jzX93nYZX5JkX29w0C\r\n5KEy6s8EnPr4Ws3CWAxUwpH4LlBvjgQPTPY602nw0HXBoIul6RGceBOM1fQ0\r\np8AlL6BBDRe/yw5R/RxxOlRoU8EY+wr/PW+UBAT2FbjDy3Wnseh8muN4v50e\r\nwWmsghOU3oo0S1iAIf1kF8KvNGnIUYsIqEad4QfmEz+8jFQIxiUdagcMn2tW\r\nCHOY59n1R3ZjvwpQoBTGqIV/s4kyA9V6+JZrwQUNA4X2woKm0i6abD80JBYZ\r\ny6QDCCmGdWaOO+iKmwrIaC4FWCrwBTXTDm2jezdTLpyNLyrfXYPr3ISfeRzg\r\nt00/Mb31HPtKJK5xzPi9gsSpJrS8DX6Ejam8kZr8WYN/POXf3hE0O3HanyBC\r\nqPaoQO2I0ivhRlgFGSmVDwkJodvXoEPV18p7DJS3g3F++OGVJ7+E4s0yoEgH\r\npe2zpGu3i82q2P5oppzdXSTQJZ054CNut/I=\r\n=uNug\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.0.1-e85e5b6e.0_1673291757311_0.8781200071360535"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.0.1-2a6fede5.0":{"name":"ipfs-grpc-client","version":"0.0.1-2a6fede5.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.0.1-2a6fede5.0","ipfs-core-utils":"^0.0.1-2a6fede5.0","ipfs-grpc-protocol":"^0.0.1-2a6fede5.0","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.9.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"12b210560953c0358e012a120d162b5f3f32d06c","readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","_id":"ipfs-grpc-client@0.0.1-2a6fede5.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-ySPKy3wGLp1TdSdngzl+KSIyJxgrInerRSG1r5qEVMJE2h52+n82rB+Vr7YQQ0bf8Yhp2kKc8pZDB2Z2K5RctQ==","shasum":"3273ad3aa6b86f6f6fcec165a6cae74eedd92f75","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.0.1-2a6fede5.0.tgz","fileCount":58,"unpackedSize":212140,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCV+R4RuBslgogX2X4a9L5uJpk45RNyTn+/SPD85G8qUAIge5FlLMcPaerJBhKw/2OEsEt+X95qAeiTU15Ya6L7gug="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvTF0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoB6w//RlDqtqJ+ybRnTBtfF8qYLY4k4HDvN/TiruYl3CeOCSk5c8zs\r\nVm1rrGowKGJZAhu2kwu861Ru9D+37Bq63aQvO5zJUkLpEwfZY2kh1NraL2zR\r\nCZ/2jUtEJcxC9OQRhpWQx2rStMmY8dAqR+GQ9c1z5I9GEGBBSf463NG/iWAO\r\navOL4ZqiuK0vM1UcIG7DVSJh9dktmUw+RpfzwW7g9PqDPTveLogpn4N9Kaq+\r\n8JmOQgDPuhJFq6uUSS3ih+uOLWTh5qwiyK2uddEtOmcL3AGw8g/cTyY4VbdM\r\ny7c6rhhW/3RtJIYiYFV1CS4KYl46rpSYni7X2gB13H/E7oF9NFnzvqP8E5HW\r\nmYG3lFRvJgps+s7WPztdTmgE/D+kMkP43wEK/Ps7R2OAXrZpV6cFeAERDeg0\r\nvUZKNEZOMAiTB3BylR4IM/lNE0SFV3FUGZA5tuBQrjKAS63b9C0l0BGjP9PK\r\nBIhfi9uhd7mS5+xt8q+1IqwSWU1vDQWuPcP21IoJRmxQ0b1uEyaoJXvhnRak\r\nK/G44aYWkMZhlG3WpDvzwX9XR+ub/Qs/0CLBDhT3JtghnOibyZzLYmUdcMeB\r\n25xIWnk5xfSfZnb9wgFTRUZtILNgeVASZUm78VzQkaSV91Ccd2gzcfAEeJ7z\r\nLKxZF8mhmeP8eKuW1aIHyY6qmRhlNcg8BDc=\r\n=Yxy8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.0.1-2a6fede5.0_1673343347909_0.90724936886535"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.0-5f73ecad":{"name":"ipfs-grpc-client","version":"0.12.0-5f73ecad","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.13.0-5f73ecad","ipfs-core-utils":"0.17.0-5f73ecad","ipfs-grpc-protocol":"0.7.0-5f73ecad","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"5f73ecadd7d397029be8dd9bc0dcd82469f07359","_id":"ipfs-grpc-client@0.12.0-5f73ecad","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-KPFEhoOyQl9fVIT2pTBaCIzFQn1G+WgIIonY6O+AKFeJUhKhyY2s3nUbJX+wXKlsfdolQTiOmB1inT7GSJMe4w==","shasum":"465055ea691c0bf845910545f2e8f4addc6ebeda","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.0-5f73ecad.tgz","fileCount":58,"unpackedSize":212076,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHAqZnRSyoZm337rtfVkTcY7RR5KG8OTKy2hfGy/rm3iAiEAoHat8HQaJd7x+gYpm2IFFbXc6fwc4zE6b2t8Ras5WUg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvZ0dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKTRAAit9yB8ALCPgpOAHdXdQAVVwVA8OWAeIdcS6w3H4MkzoFGKke\r\nUfaefygQM8v3K5FhLPv/Ngrpru+/FUcmrBZbVE4w5/WkU32i/S23lKXlqG8S\r\n0hnpdA1x8pQ21yLvFyWFo4P3aMedaFJ92QPmeA0pPsTXmXN5sFg3MUMhlW/f\r\nkoLquCd63Y7baHHauf48bjdSYj/0//Aj1QoJhlPBuYqrV709g0cAtD4LZRfA\r\nCwlLA8HykWov+kI3M6pCc/dAOD0ah6h9ZD+lhXo1GzP//E2s6byhXv2yp7Ux\r\nCwFODJrxlg7q3FycLfTSEACHBRjQ22Mrx5Gm1RT8VvdmOYfMbSBANi3Gv6wO\r\nxzxrBf3WRbxQMYjce8rGpJW740BIKBrBEzfl/NlShuzaX+tEQq/cFKkqWnPZ\r\nVyw/UwJ/uhkm8DAzv0QFCzuapcR9RyK13MxHV9ETwadaGmMgIOrzSHQfAvUH\r\n6BX3kCR0Ii850fNnAxGfttnEAuqnptGlXQNYIWhskKj5MEdOvR1XTLGavrrX\r\nLaE6bC4ky4Hy0hx2fjRQvWwdDUp0Rrml4UFNPhv4CQSwOi28WZ9VsgMBroeq\r\nhzt2rCuQ+lviYWfNDhr3O6M9rsasjuIBdPDIeTa9N7MoPhqNMMTdRZzPsg2Q\r\nXisvOx05Z1XXN6jPNvFGyBE3KcQoH2kY6bI=\r\n=e4lq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.0-5f73ecad_1673370909162_0.16775034523147525"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.0-4b4c124c":{"name":"ipfs-grpc-client","version":"0.12.0-4b4c124c","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.13.0-4b4c124c","ipfs-core-utils":"0.17.0-4b4c124c","ipfs-grpc-protocol":"0.7.0-4b4c124c","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"4b4c124c4c49b1c60a68b4b8e24f1f00dd7f0517","_id":"ipfs-grpc-client@0.12.0-4b4c124c","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-sqvFUR6coKgjLD6Ofl2iVZNqFZZGmk2SJwdz/9yXXe/bPYPJtqALncedL5fM2cIpiaYmH0+wdf1b5PFIaORRNg==","shasum":"497c7c481b19d919554499d6ef13738d4640d5c8","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.0-4b4c124c.tgz","fileCount":58,"unpackedSize":212251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBbUG1mg2nPL6ctvLcPoc8sxSLvEChmUYi8RCmXroUWcAiEAnhsuRro6fpSYimavc229I+h9UT3E67B25boX6EOxfG4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvt6MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmovcRAAnBtpkRf3mpQEdmssbNacxoqXTLyHIt7rAIl6QkZs1+jG6k7i\r\nUg2ONfc3O/e54YppF3rp+1TrrIKkP9yx4EZLNturtATXTWkUfa2Z/voseG7U\r\nSLAu+xW6pnZOsw8ZHnWC4P/EISuXcaW56N1/HX7NUfox1/CeU1Vcq/MHvkyN\r\nwzOSATxmq1zNOBdnE78bzsfn3lMse6wwH/HtdLT6VVu8/xGwfHAybkdbBssV\r\nRFlBMQlRwPu1C0BanBPLJX43uYr/2UBWO8xC5zzT+y0v7e2+zAhXW/5ja0Wb\r\nvDfrKPtp9vxo+5Mw0SoUmsE5s7RsSBF8X43Ru5MzUxgXvrW64enJp9WDPJJJ\r\ntx1fLsH5TpYq+FgLtmd8BNkcdkfuQJp4thp1wZMVqkFveehdY4L/0Vg6CVCu\r\nNQANFMHGVwMzTl5cYpVcCUHWiyeZaADE1tH7+w8aiCOcTivmy8PI812XLHxO\r\nlkn6z9zYABNFCdOmIOByyW6TFn5dgdhXIVs0rhgQ2puJ9Hjh3nnXb91JOwra\r\nQO06KjY8kY/2HUUPKPYGy451JB+jha7r21vEO6YKPG/VcL09dBpkaze4J4NI\r\nNhpALN1xbVE9Yhxghs8OpFoEZlfZCKYiwlfMNO4lSQN4sTFIOWQ7nax8Phen\r\nHiWFeDFWO1PDX3ICamG2SJyuMssWhHVzxiA=\r\n=Ycra\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.0-4b4c124c_1673453196332_0.3492232721707209"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.0-789ee585":{"name":"ipfs-grpc-client","version":"0.12.0-789ee585","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.13.0-789ee585","ipfs-core-utils":"0.17.0-789ee585","ipfs-grpc-protocol":"0.7.0-789ee585","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"789ee58556083ef71a4ef44e3358f86c5be101fb","_id":"ipfs-grpc-client@0.12.0-789ee585","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-AutCZWfjlMOXVwQday2PILz5V19pfx0cmAJnmkDkiFIJrJITI1uQ1XqhU/NPprUg7DdkG8YyeSt+OeEId+LsHw==","shasum":"9120406fcf3d4b1f53f1cbcef72121ca606de735","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.0-789ee585.tgz","fileCount":58,"unpackedSize":212251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0MFoxxivqFDCEhvu7ea0hJQ9Eynd4Ep/jQt1D7v+ojgIhAJywZdT8fNIZ+LvkGV6b2gmHduWJQCaWc/4n2Xl8Y02J"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvux/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6VQ/6A5zswhAHoZO6hGmLwaJDxuINZhoFD5M4dNZV7qb4Vy8IGiWq\r\nAhAW0pon53ETTJZzV+xse/RMgAyOLMuJmzpJIETa7HAexdac6eMVllpqyHGc\r\nV1Q1Q3478pzSovJ6HGmxUjyUxiY7l0ouazbn5mnU2/GVexPa7YFyVE2sCj+6\r\nf05lw6HlDPlMXGvbJsi/LppQyGqieODYsaN2qAaAWEa3GaqACGgET/nJmxTS\r\n8QqdJmHmgxJCuvd4bB2ygZ4fFLKC1mW2VgdrdnKX46BGT8f5+yImzYDLh/N+\r\noLFOQyz6jRlsAglT560y+16Musjh0UZXqa8enmIx8vEneVh+T2QmY55Q+GEp\r\nuc8orZqQH48w7WYyoUFTz4TOTyVNsR0FDQ8FQxTAfS1CUgTWQEmbRmgRfEkS\r\n625FNvSPMUOpLaLe76I79bFF7VVY/VfWF7dU/WhVHyaJSCfmgfNgCDMmFMZD\r\nJtdQ/iuVq630SxLqFwUVZtZwWEVd9iNSykOwEDpwsfbU8iI98twA3RP2Ys1/\r\nzEe38a+9nrhlf9ZB4SJ5EJ5RwVaOHsaaL9sM+4Hpjz5hVTbhoBEsKeM+8HTb\r\n9J9vCI44jP2WKQx1Vv5JD2uvlzmkoTCFnx0YElWnEIK1pQH5lHSfoH5WZa+b\r\nn/4M/YyJhEm730GcOG0VPIA1TnJlwwqTu3c=\r\n=INbg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.0-789ee585_1673456767346_0.02521745149178556"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.0-fa578bac":{"name":"ipfs-grpc-client","version":"0.12.0-fa578bac","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.13.0-fa578bac","ipfs-core-utils":"0.17.0-fa578bac","ipfs-grpc-protocol":"0.7.0-fa578bac","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"fa578bace93e459849a0ffcebbd6f222dc05652d","_id":"ipfs-grpc-client@0.12.0-fa578bac","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-fTStCMA1Uwg6L8HGOWJ5WsqrwbX6gTQG64tzEFdBUnXeJ8Q7B5eYHtuS+kiRx5+yRwgs3CxLKltZg2TMEpPLiw==","shasum":"116a084dfbd7778e75fc0173bb4b996756589613","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.0-fa578bac.tgz","fileCount":58,"unpackedSize":212251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF8fWNiNjTE6a6IiO+8knVNeobQ5c4RRworE76rC0CDwIgdrdpi71sqdl4gqX+aDBsMatM+DiD1EpLtnGS6pJSQHI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvvcFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGzQ//YjujBukdEFq24om4/pl8XxfsY8o7sH5eDiCeo/0V6Rz/mz9O\r\nFhpwnIXE1GvCodX2hr7IPPeqRzOY8tAXhjSOMcmoemZNVx/KM5vvO5TqDAQJ\r\nqy2H4Fjh3vKTkMMt6F+b0BObNz7mo5xFRF6OftFApNoc3FqHUAse6H4jrqwD\r\n4jWoeoK74Zzm4c62WIZrUiHnAlo4TQlp3/bnajtE1yDE8JRhVC4TtqJnnv1e\r\n+5MvWhmvH81yozWccTvJ3DDodr1kdEctptcrNk1FNeRtQF5OeAm1PStDUaCs\r\nrthEUmbnonIgmWQLdgta+i69iOtSEjier13wVry/NiASjyLXXva0l4r1kYhc\r\nCVZ2uvoy/7F5xhDbpsgtQ+xeVXLIqN5Mr1hqr+L3kHYZIAUnNJ5WKXnvZTiW\r\nJyPIbUSGeCpgyes8PFU1T8Fm218MLk5jev96LGGNARjy+16wIjWL7oW/GnNR\r\nYsbn8agbWK0WTXU0S91/NrD8c2K02xt/oVUtvcm6FjRDhV4kJDH7gLcwRRV1\r\n5sJPFNaYLiVar+Vk1m63DjJhPjR0S0hjwb2O2fR2glthiS0U6Yvbl07fpzXm\r\nZuEGbh7/rjaIcqDMBbR01W5wX6qu0ZNCHUav0fYZLb9RMwq0jl0+wXeX0Cyr\r\nKd6/e4jhOQ7cj8Z5V/h+qP+l5j3y36nb5J4=\r\n=EUc+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.0-fa578bac_1673459460936_0.8015151191382499"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.12.0-d1c3abb3":{"name":"ipfs-grpc-client","version":"0.12.0-d1c3abb3","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.13.0-d1c3abb3","ipfs-core-utils":"0.17.0-d1c3abb3","ipfs-grpc-protocol":"0.7.0-d1c3abb3","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"d1c3abb32b57379b5446d5eda232d7750a2ecff0","_id":"ipfs-grpc-client@0.12.0-d1c3abb3","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-WEEpOd28f9W2dxmrIjVfq8AFYfQ4Cc/sd/Q1MmBu17oRWL93volE08EsGQfM+P0CKXqOHLWxNIIlHd1ecv6M8g==","shasum":"e36b08078f5e8696ff5508d4613f49b577e94f2d","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.12.0-d1c3abb3.tgz","fileCount":58,"unpackedSize":212251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDTd5TrSUII8YJI4XqTJiEG0GclfSUbUUKg41pDx7tM6AiEAgBH0ei9LUP2fDdPGOECgDlId499YGaA+mU1LdmtAhpY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvvtjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLiBAAnkd6ztVEER/vcbu+XLO65slEqxDgAkdAE9wT+fFmAwt1y3Kt\r\nuj3D0NMj7GsHG/4e+lUnQoTAAY0sES6YvgLXvadlCocYsMgj2j3Jxd7sZUCp\r\noXcScxJzEm50gZZ13VjXm14PofxeamhVBRqAqGc3Byrtoom3atZ2hoYXLvXU\r\nhFCArY/eruQTZHEVVZgmG5SzFdAnt2XK7gAaU/CqeJ8rZPWE9Lw1AzLU25dh\r\ntY4JcItNphCfgMUm4vvBOyt4/IO1qG7oSJta/ih+I44vrJP3a/dOJnjbX5Sb\r\n+PbTOyqnh21CDEJQ9zrrTonAQ/bBjrYnFX7BrSmQuH/wn13AyHhT3HYdO2mc\r\n8TEChV9R6jXzhWJsdyHsPVD8oRfZUimiDEgzrBb5aGcH0Fm5nYiBMfVR4oWl\r\nAFonL/WARnb6f6ztDj69CaNXNSUV1ZYMCeC13hTNBcsnQAP15voGizq/OnKo\r\nQ/qlaQit4iS2fhgHEm7+BWXSLi4JlzM/R4q8VuFv1yeQn1KVVj8WrZoED739\r\nEBc0uW2ElWM7a4mpCQqeyGDtqkX0fDgJvAemnaw2eIpxmkVWhbp6qXlcFuqW\r\nRfKjBorytYTs6M9FcULM+5OU6GDfzNwmTnQp0Kqk+4qRKfGrMlwGDGK0rjWF\r\nS3g0Wkvpq5dkgkswJEWF3T25BTY9w/8sG0Y=\r\n=0ho2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.12.0-d1c3abb3_1673460579252_0.9856358279788111"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0":{"name":"ipfs-grpc-client","version":"0.13.0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.14.0","ipfs-core-utils":"^0.18.0","ipfs-grpc-protocol":"^0.8.0","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"6e940670681859682d41ca1339744955c9ee20bf","_id":"ipfs-grpc-client@0.13.0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-QtYPJHt/RB3RZRAbi/W+FtEToINzz1piuricoDOo5PZW+SqLx9PCF9gk2YJHhgi4LQgYGbhdbjH45W8x4FH0Dg==","shasum":"eb95cd37a03dbe077d819e52bfb3bc71df37b3ac","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0.tgz","fileCount":58,"unpackedSize":212218,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJyrX680ovcpfPUElFaqJES9GOWKJAdZBeIfPSbK8EwgIgIMC8WUYqQKSe/Jt3ae6sD5DARo5xYBttA/mVUBYHnH8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjv/DEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotzA//Tb++BamYCnK7hCHPAdUsNnaaFrsbU5D3Bos4uzvh7+DvTiAu\r\n8YsJdZ9wXAAujVRoV/jh5RbswiR9G87w2ZLuEcp9+KDZvYQKrTbXIyCnFZgx\r\nPEAe2Kei7XMrbxbFOfwn187Vhm6+l/uefZ9DV9qnb/wlRdQRuHDwQQ96MC4p\r\nERkzt2WCu94CoPR7zRZaU5XDVFq39hoSj/dnDHOJOGGKZf7yqqmnOwCUp1Iv\r\ndUmBJU5+GkJZGACO7XuGoJ5gUts3H0Lh7dltSCt17/OBJErrr47j8tzuJ5wN\r\nEQ86Ryp3ciJuWkZhJ/DPQeANGn7dqz+Jv4exsBlbJ8oJDl0k3t9K3RA1z6mq\r\nkEy+LajtdaL0UD33m313+WTlyZX5OBi3FAPt0iQCqmAgtU72kvwZeTYlT980\r\nvdTIJe3m/KOsAxfm6ZkeUBc8lUT7dcATo4zcidig3JE/rgM8E6T62gzl5K1v\r\nWu8S4/chJL9ii8G+GPFx1MTPVKfFwHWXQVaYkmUAuAic6Oy96JyXPuqMzJlM\r\nK282pz6aytXHUiLsN+PqtV3hrawAWHTEvNbKK8joN5P/nobxWAedv+fWhmod\r\nf1YE8qv3iqRH4fYg73pEx3I4Iai8zGiM03b+vdL/6uMIXV6oI64WzevViB1/\r\nfdtyKoKXSD57BOhUZ2br7VbInPX/6fPs98M=\r\n=iMPN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0_1673523395818_0.6006330598673999"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0-6eeb1be5":{"name":"ipfs-grpc-client","version":"0.13.0-6eeb1be5","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.0","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.0.0","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.14.0-6eeb1be5","ipfs-core-utils":"0.18.0-6eeb1be5","ipfs-grpc-protocol":"0.8.0-6eeb1be5","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io)\n[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"6eeb1be57c8366b82351030e49a5886d1aff8bf6","_id":"ipfs-grpc-client@0.13.0-6eeb1be5","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-dSJaXHfJKNbknUxbqBKARHSCzJPqb9rf2br1WkXWYYgPLnrZxuyNeti8GiPqxeSlOdeFAU+RRM2694yO8rpz0w==","shasum":"5435bd063c44f04ffe296d86ee5f78351f59c00c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0-6eeb1be5.tgz","fileCount":58,"unpackedSize":212251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHQCwVfyRToyoa1TK1shuUiX8O9YhKJrTGGAEg7CWLBmAiEA2IA5ZNXD8jLbft7p8P2o0w79dP+9Z02XH5HsOfTKTuc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwaDvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrd/Q//dARyBx43ut112jBGvc1okM2pg+IyTHUBPPJmSW4qvS9k6YRm\r\nEv1AaYkwNgyfcgCpPQ6A2SURhb3AXQJF5gHHBauRE9LjxyBO0wQ60WMeG/tM\r\nkzT4rze+wHbs2agPZy+yHkvjx3gla+OOZergIRS1lNr5b6Jx9ZyaRuZ6JvXn\r\nhraa+2d/tNBC9nkuB76+Vkjp8SW3gVl+X6w5FWpPg4lcxV0UGf8K45PM4Be2\r\ndE5ZrMZE4NYNuKec1N9dgt8rvMX8MS2HiKpQMEe4r6hTQkq6eVkwEah9Wv6n\r\n8K+9Ennik77Y1EpyDv5lwjPNigPqnyXWLepLtnMHN7wI/ijsWzqvO/6c/7xc\r\nbjll84LOA7Jq5beu1ZyE78NjBuenrl8hdkeSgOHcHI1vrjmETKx7bWwVH0Ti\r\n88+HgXYMBR0zNSiTG46RYRI5If1ZFn8B1N6B+0fCmmyZm+ogaTTXssA+UNH9\r\ncqpB+2u8KcrJgfc9kHT8AkJ8CHIiOEV5nHIFkrBGmRpqjGWqKO3/beuFYsxe\r\nGiY46N9/rQm1UsfPGXZsRJh+FML02I0jMSYctyHRNzjAnkdKEQgXMKtQWKMV\r\nEselt6VYIvzenZDuA6BJLUoQg2mooq80jHBUkXngykXZGANAiG3Tt1gVZef8\r\nZcf6rVQBiTm2r6kuRHXDARrrj553UBCPpvM=\r\n=RIVM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0-6eeb1be5_1673634031249_0.8214523910113025"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0-ab02e8f8":{"name":"ipfs-grpc-client","version":"0.13.0-ab02e8f8","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.5","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.1.5","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.14.0-ab02e8f8","ipfs-core-utils":"0.18.0-ab02e8f8","ipfs-grpc-protocol":"0.8.0-ab02e8f8","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/js-test-and-release.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/js-test-and-release.yml?query=branch%3Amaster)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n  - [Browser `<script>` tag](#browser-script-tag)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsGrpcClient` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-grpc-client/dist/index.min.js\"></script>\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"ab02e8f8b3cf8f4eeb9991fef3b0104728ced675","_id":"ipfs-grpc-client@0.13.0-ab02e8f8","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-tFsd4BZeLyqWqDz7d7JjPn4671k3pBV/gRPHPRY8biMGUqvJHI3XvXdTdPwNke8Ml/2BWi6CcmW5Ima3Tf+2JA==","shasum":"4b7c7c48527a6d8d1cc29302178864ca68b5ddcb","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0-ab02e8f8.tgz","fileCount":58,"unpackedSize":212468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYCPu67wt4e/DLM/K2aveHtFKSucDdyrHCy60dU9ZNwgIhAIrnI30NTvUeknmhHSV8j8OZEdEjAFZepdKJOUF/xL4+"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxpNsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8Pw//RC77PvvQi0zu2q1968CHNQzfYRSkK2jpRjxlQidQldsSTeJZ\r\nBUfpB5srsRtcrRAgIP3m0DXbHYMlcKoR0VoaQj9qbEezBf05TGrGLtFm6gXe\r\nCAIEHywIDLr6HTedBH8U2NzyHzjgAy7+6FBO0bqmXpoWU1TxNJBnOVkzqol4\r\nbcv+16cDxaHxth3A9mAK1XVX9boRO1J06bgr6rPAF4WQRwTxw0nEJpISfgsG\r\neRzka8BSd0+NvBgKwIKoBh9uD6bnvXeiOihTQFSPl1q7Hx0BsGXyMEOuAWdU\r\n0J8IoC0Xj0rNoe/h3fTAdHQLSc7xm3HIYEeOW8Tj1MA1yQSQ+9EzpCWQ18bx\r\nqk+1b0pTDYnLjwbyEpiKAWyg7UtGFeNojIwAzNTllpJG2xlUqQErsttftBO9\r\nmsF3IQJ6f9ea2/T2xh4PjDhDmJtsSzlgJOR0JOvTQ0M5fK7wPznBWeHpdYB7\r\nYYdA1mf1ub2m+bM30irfwxUK1oZiCT4FNq+u7R6aLyef8xAyYvuZpLbE+rJF\r\nh2oYiGLRBOf6vsie9QuiCqdFcQfcb7F/dSZ4rpvFgGlnSAPDCDzwAYovhhiX\r\n6peojcNXm5e0tk86kovYnr++iiM9hHCtlTjfDHFmZRQfHRxsA+nEMatN00qN\r\nJxEAKrSFYj2tReyYMclfjhJna19Kl/f4xEw=\r\n=ZjtR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0-ab02e8f8_1673958252469_0.2605751840254309"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0-3bcabe38":{"name":"ipfs-grpc-client","version":"0.13.0-3bcabe38","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.5","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.1.5","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.14.0-3bcabe38","ipfs-core-utils":"0.18.0-3bcabe38","ipfs-grpc-protocol":"0.8.0-3bcabe38","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n  - [Browser `<script>` tag](#browser-script-tag)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsGrpcClient` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-grpc-client/dist/index.min.js\"></script>\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"3bcabe3818ce8bbbafe0cbb68749b286d8a7edd9","_id":"ipfs-grpc-client@0.13.0-3bcabe38","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-bZ20/ET0lw4JrbZIZxPtrb0E1CVeG73seRi+VnWh1e2wvT/sUPHTpUGwNFmMe+/VsSc80QxoE0zc/x/N0vGmIA==","shasum":"d4f4040631d8acc8e68c0e340aa9eee402c8624c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0-3bcabe38.tgz","fileCount":58,"unpackedSize":212596,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCflMKcQoS0xkyTXERyD4XCznhERk33iV7KAOPSXaV6tAIhAImjV1Tzohw1TqxoAbj4zFXCpp5jGNgy681wbrbVh6dS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxr8zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqY1A/+P6NosrIPt3Y1nnerEZXL49fFnFTDGpfyKeyGOezwuxoKpY/Q\r\nGXyd5qKJYyzF3uxwqOrdxb/hSpKanRRZURUoHPb199IU9LSsqZ9QU59nSY0i\r\nEtckHZgCCUj6NmCUeDPDT8hMHIvGcWXiS+w5pSJ90RvjVlVQmST3LlHROevA\r\ng0yXepfKhbeChsER+SPKO6yvkU5DBdvWAopXmNcAvi4vazZzFyvhcaFKHUUv\r\nLsonyrr7X8LUArfv5flb3/jM4UZEWvPZWSor+usNciYSuLuzcOeO5Rr6bGDz\r\nZ3CfLbkruLdad2QKhM/z02HAQ6IdHvi16bcKcpQyDP5cpwkWaqhrbb8w0AKT\r\nD3hSqizZzc4DE0nPprrUYWv/48++5Dm9a60sT8yGbuDRktXF6R7ENl/3qKaw\r\n5cr7ltriL7oC8gnU7zLy9J5XJUFP7ZvakIPF1DvzYRArb7+xtR3R37FvXBhU\r\nrEwLEdyB0/ZMAp+XliA1U6VcZU5QmzqA4WY3PevnjnXp6fX/xdeMvDmIK2q0\r\nGd0Ua1NFQD1z6IVgqpbynjAnFNQUMaJAAO7+mvTsGMpAu18LLwVMlYBQW8+3\r\nsWAHtgyY9jDWVYIwURdmw0uPgvx0+9bNoHcPfwlcTGUGPv2SuCeSI/rsY3zL\r\nPwcYZsjYP1EuklvIJRYa4lwlaxlvZz5CEWY=\r\n=iqEC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0-3bcabe38_1673969458962_0.509027657001319"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0-b64d4af0":{"name":"ipfs-grpc-client","version":"0.13.0-b64d4af0","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.5","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.1.5","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.14.0-b64d4af0","ipfs-core-utils":"0.18.0-b64d4af0","ipfs-grpc-protocol":"0.8.0-b64d4af0","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n  - [Browser `<script>` tag](#browser-script-tag)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsGrpcClient` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-grpc-client/dist/index.min.js\"></script>\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"b64d4af034f27aa7204e57e6a79f95461095502c","_id":"ipfs-grpc-client@0.13.0-b64d4af0","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-HRkbBY9tB0PoQtvqBsoIYazbMuu5aMdjO/e4iIpVpK55g9iu/ceNJhJy4Pi/dPVTprfBMeJR4WUYpCnlf2Cpkg==","shasum":"3d333dfe7f526c759c3c4d7adce6352d43b73821","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0-b64d4af0.tgz","fileCount":58,"unpackedSize":214080,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtyJ4PoqBQfGGOIRninTcTfVTmIXFTahjMhzdsHbJM7QIhAJm/wHYXnYrzaqtYPpOph/Qf2njYTmBs7SJJDL8dpiL8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2kwLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqhnA//QoZrHFTgNk+c1Nkj0/a+hfyDObXeQBQ2/wrrkY1d5BbPMXzE\r\nK5Wd9vmN4bpCJu3BvvIxU5nzxRQ03jcVeZTZ8z9OvXkRLixGz1VQQnFbevF9\r\njQtQTrkdw/9i/AxY8QLvLfcHrOD0CuxhiBSAMWzUo6E4yoci6YfJKwqbT6GF\r\nKPAnJHi9SnHlriSFazIthdUtli5tG+whdUmstly8Wy4byTo2TE1It0GCMYql\r\n0USmST3msGM04nEgabmfjfB2xdrqs/dzV7eRIsf/cEiaSJuR0KZEOWtxgcc7\r\n9qxdjYPpLmREkLr8dnLivCFqwFK7NgSJe1KfAR+tbB5RNr2Ak+3UCfAZFF4x\r\n3QzfDZfYT9P5YQPzGYakxcEirz3UMjD/u2NgSQ82FylEjl0OmbxrPlV6/zpH\r\nfWx3N0aRRgg4nkeOUTb8wRzjS4h339DEDVECJItd/dg6JlVDDgwd8UzShYCH\r\nGrQaNVsL1m06t3L2KhfieA2KXdAi8ydD9FqU1WZmqs+yzTsbeIamZnLOJ7lf\r\n5pDy7z22NZZiW4QrgGF7TSXr4bDWpzGfXdRrXpPuWX5cOQI5PTljF62cNG60\r\nDJH4Z5w1H7mNybYtfkTi5HFfLb/KfUeF/IZGZyW8PnzYWd1HnynhDwuf9tLz\r\ngqPyenLU9myr2DKdo2hxTIq/m3EJFQUpGow=\r\n=lmTD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0-b64d4af0_1675250699725_0.3188941128678473"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0-e64813f6":{"name":"ipfs-grpc-client","version":"0.13.0-e64813f6","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.5","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.1.5","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.14.0-e64813f6","ipfs-core-utils":"0.18.0-e64813f6","ipfs-grpc-protocol":"0.8.0-e64813f6","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n  - [Browser `<script>` tag](#browser-script-tag)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsGrpcClient` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-grpc-client/dist/index.min.js\"></script>\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"e64813f6fdc681328da7cb893c93e1f4f70bfc99","_id":"ipfs-grpc-client@0.13.0-e64813f6","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-D2ydnwqHxRp4kQYF3nDUlSYKUvSV6rq4MfqkbDMQnG1N84ygeXOLLdhQXNd5LUxNjIQW0xH8UfTnb+ykEWmXjA==","shasum":"99066543f044cb8388e7f071ecec7baa20dbe01c","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0-e64813f6.tgz","fileCount":58,"unpackedSize":231849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJQqJHGvbK90S/UzXymMjVFTNpuzKjT7SOg02/iazgMwIhAP8Au7mGVvAiPTDj/xIrVWFiR/hLdvhiLWLKY1V/sf3R"}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0-e64813f6_1684953944211_0.6267824712102745"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0-4694e806":{"name":"ipfs-grpc-client","version":"0.13.0-4694e806","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.5","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.1.5","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.14.0-4694e806","ipfs-core-utils":"0.18.0-4694e806","ipfs-grpc-protocol":"0.8.0-4694e806","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n  - [Browser `<script>` tag](#browser-script-tag)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsGrpcClient` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-grpc-client/dist/index.min.js\"></script>\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"4694e806aea15c66db32e3b4be81c0a5e2fb8ade","_id":"ipfs-grpc-client@0.13.0-4694e806","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-QBLgi10MwfDd5UdxmcI2wKptZTAKMURWIaVKGCai+khovXPAXMUtGDtbnO8rvxUJzM7pSNU/VNLUc6r86SlGbQ==","shasum":"caa14249e57b9b6684f0fa4dd29a50b9bfc06d03","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0-4694e806.tgz","fileCount":58,"unpackedSize":231849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1p/5w/DjjV0kBCslt93rm+VkPnlW6HrxSWFROMO5wNQIhAMhqfP5QJBrHcVznJfTyf6QJbEGWYFxKMOHxThf4Hgv0"}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0-4694e806_1685014304037_0.012369287579855337"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0-6d95ce08":{"name":"ipfs-grpc-client","version":"0.13.0-6d95ce08","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.5","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.1.5","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.14.0-6d95ce08","ipfs-core-utils":"0.18.0-6d95ce08","ipfs-grpc-protocol":"0.8.0-6d95ce08","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n  - [Browser `<script>` tag](#browser-script-tag)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsGrpcClient` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-grpc-client/dist/index.min.js\"></script>\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"6d95ce0864055e5236ac88c0999460ebc5075c10","_id":"ipfs-grpc-client@0.13.0-6d95ce08","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-e6rLr0+Og3GewAHji78hUcMpaGJXETcnnSh4qNLOZpamEQ9sinGIycilo4962BryitoT2x+ANWjVbt27wu97Xg==","shasum":"413d6711e3768beaa90e2bcf1f291ae4d68fe0ae","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0-6d95ce08.tgz","fileCount":58,"unpackedSize":231849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0cXiz/vcl3sVfgdud4Nw6/MS6Q5qaU5hQEEauWyKfVgIhALe8QJ7zoKGDUDLGspAFNFsVWmBq1JzdxojSxzsI5sPT"}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0-6d95ce08_1685016634175_0.3693069426546054"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.0-7b79c1b8":{"name":"ipfs-grpc-client","version":"0.13.0-7b79c1b8","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.5","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.1.5","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"0.14.0-7b79c1b8","ipfs-core-utils":"0.18.0-7b79c1b8","ipfs-grpc-protocol":"0.8.0-7b79c1b8","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n  - [Browser `<script>` tag](#browser-script-tag)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsGrpcClient` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-grpc-client/dist/index.min.js\"></script>\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","gitHead":"7b79c1b8df5c818dc124b346ea28330455732d5c","_id":"ipfs-grpc-client@0.13.0-7b79c1b8","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-faQOvQ4apZLSqSl+yvYmmnj5wbGrX80S7Eigd6/Srfom2KJqFwUS26z+vVg5fcSzyt+wi7QUcv6S/26GMyaFqQ==","shasum":"9b59ee777aecfd6717edc07cdd5c2f8c0830cdbe","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.0-7b79c1b8.tgz","fileCount":58,"unpackedSize":231849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFuAyT3tv0gpnW93Igw01qh3hUjQQps9IyOmSLS+Ec8AAiEAweDnYl68szpnWoCLUipRN3OOL4uBuCcKV6aHQrLQ8Zw="}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.0-7b79c1b8_1685018777573_0.39526249972752003"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"},"0.13.1":{"name":"ipfs-grpc-client","version":"0.13.1","description":"A client library for the IPFS gRPC API","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"},"keywords":["ipfs"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"build":"aegir build","test":"aegir test","test:node":"aegir test -t node --cov","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:electron-main":"aegir test -t electron-main","lint":"aegir lint","clean":"aegir clean","dep-check":"aegir dep-check -i aegir -i ipfs-grpc-protocol -i ipfs-core-types -i protobufjs-cli"},"dependencies":{"@improbable-eng/grpc-web":"^0.15.0","@libp2p/logger":"^2.0.5","@libp2p/peer-id":"^2.0.0","@multiformats/multiaddr":"^11.1.5","change-case":"^4.1.1","err-code":"^3.0.1","ipfs-core-types":"^0.14.1","ipfs-core-utils":"^0.18.1","ipfs-grpc-protocol":"^0.8.1","ipfs-unixfs":"^9.0.0","it-first":"^2.0.0","it-pushable":"^3.0.0","multiformats":"^11.0.0","p-defer":"^4.0.0","protobufjs":"^7.0.0","uint8arrays":"^4.0.2","wherearewe":"^2.0.1","ws":"^8.5.0"},"devDependencies":{"aegir":"^37.11.0","it-all":"^2.0.0","protobufjs-cli":"^1.0.0","sinon":"^15.0.1"},"browser":{"./src/grpc/transport.js":"./src/grpc/transport.browser.js","./src/grpc/transport.node.js":"./src/grpc/transport.browser.js"},"gitHead":"bf1bc8b18d750d5591bdd575a6d0f4c067d61d0a","_id":"ipfs-grpc-client@0.13.1","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Z2FPe7oimU0PczxvTqMEc4lMzKo2UJ0hmqmshEEqGK3SdQrHC/Xt3vT+ebdKeLojPDu9kFHVWMQOlVjlxQGSJQ==","shasum":"1b0879fcfd45ec7f779696f364527e1fbecacaaa","tarball":"https://registry.npmjs.org/ipfs-grpc-client/-/ipfs-grpc-client-0.13.1.tgz","fileCount":58,"unpackedSize":231816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGTApUnl2i2oWWLRCC9NZqgJPya/rSon/Fz+KWRcjZ+IAiAN9wxKrS83j1B9erTJq77CifMjsjoAkQ2lvNUK7nYkIw=="}]},"_npmUser":{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipfs-npm-publisher-bot","email":"alex.potsides+ipfs-npm-publisher-bot@protocol.ai"},{"name":"npm-service-account-ipfs","email":"npm-service-account+ipfs@protocol.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ipfs-grpc-client_0.13.1_1685026778869_0.25881440943865486"},"_hasShrinkwrap":false,"deprecated":"js-IPFS has been deprecated in favour of Helia - please see https://github.com/ipfs/js-ipfs/issues/4336 for details"}},"time":{"created":"2020-11-02T11:34:28.855Z","0.0.0":"2020-11-02T11:34:28.956Z","modified":"2023-05-26T10:43:27.635Z","0.0.1-rc.5957":"2020-12-18T17:46:59.220Z","0.0.1-rc.5958":"2021-01-13T12:26:22.479Z","0.0.1-rc.5959":"2021-01-15T08:51:20.982Z","0.1.0":"2021-01-15T11:42:46.055Z","0.1.1":"2021-01-20T07:49:35.134Z","0.1.2":"2021-01-22T12:04:16.169Z","0.1.3-rc.3":"2021-01-30T08:09:10.395Z","0.2.0":"2021-02-01T11:36:46.287Z","0.2.1":"2021-02-02T09:06:40.554Z","0.2.2":"2021-02-08T15:34:19.891Z","0.2.3-rc.4":"2021-02-21T09:16:28.141Z","0.2.3-rc.5":"2021-02-22T16:42:00.726Z","0.2.3":"2021-03-09T10:47:38.401Z","0.2.4":"2021-03-10T11:13:12.299Z","0.2.5-rc.3":"2021-03-31T15:16:20.567Z","0.2.5-rc.11":"2021-04-28T12:16:26.773Z","0.2.5-rc.14":"2021-04-28T17:13:02.910Z","0.2.5-rc.17":"2021-04-29T16:56:39.268Z","0.2.5-rc.18":"2021-04-30T09:24:39.051Z","0.2.5-rc.19":"2021-04-30T17:04:57.809Z","0.2.5-rc.20":"2021-05-01T17:52:58.832Z","0.2.5-rc.21":"2021-05-02T09:00:40.230Z","0.2.5-rc.22":"2021-05-04T07:45:13.821Z","0.2.5-rc.24":"2021-05-04T10:57:01.677Z","0.2.5-rc.25":"2021-05-04T11:19:20.514Z","0.2.5-rc.26":"2021-05-04T13:55:54.760Z","0.2.5-rc.27":"2021-05-06T11:43:07.449Z","0.2.5-rc.28":"2021-05-06T14:18:10.201Z","0.2.5-rc.29":"2021-05-07T11:59:18.238Z","0.2.5-rc.30":"2021-05-07T13:39:50.496Z","0.2.5":"2021-05-07T15:45:37.720Z","0.2.5-rc.31":"2021-05-10T11:57:51.569Z","0.2.5-rc.32":"2021-05-10T12:21:14.015Z","0.3.0":"2021-05-10T14:53:11.084Z","0.3.1-rc.1":"2021-05-11T06:09:50.593Z","0.3.1-rc.5":"2021-05-11T20:27:25.649Z","0.3.1-rc.6":"2021-05-13T18:06:57.418Z","0.3.1-rc.7":"2021-05-25T14:40:20.869Z","0.3.1-rc.11":"2021-05-25T16:06:30.190Z","0.3.1":"2021-05-26T09:33:05.904Z","0.3.2-rc.1":"2021-05-26T12:25:08.989Z","0.3.2-rc.3":"2021-06-01T20:39:24.277Z","0.3.2-rc.4":"2021-06-05T06:17:28.428Z","0.3.2":"2021-06-05T06:32:56.641Z","0.3.3-rc.1":"2021-06-10T09:26:48.155Z","0.3.3-rc.2":"2021-06-15T16:49:12.931Z","0.3.3-rc.3":"2021-06-18T08:11:31.358Z","0.3.3-rc.4":"2021-06-18T09:21:12.422Z","0.3.3":"2021-06-18T11:16:01.872Z","0.3.4-rc.1":"2021-06-18T15:58:10.222Z","0.3.4-rc.2":"2021-06-25T15:14:00.229Z","0.3.4-rc.3":"2021-07-01T16:05:52.569Z","0.3.4-rc.6":"2021-07-19T15:31:37.565Z","0.3.4-rc.8":"2021-07-27T09:29:08.549Z","0.3.4-rc.9":"2021-07-27T10:01:23.664Z","0.3.4-rc.11":"2021-07-27T10:39:05.613Z","0.3.4-rc.14":"2021-07-27T12:20:17.243Z","0.3.4-rc.17":"2021-07-27T14:23:50.906Z","0.4.0":"2021-07-27T15:08:00.060Z","0.4.1-rc.1":"2021-07-28T11:30:14.492Z","0.4.1-rc.2":"2021-07-28T12:25:36.534Z","0.4.1-rc.5":"2021-07-28T16:56:48.122Z","0.4.1":"2021-07-30T17:08:35.025Z","0.4.1-rc.7":"2021-07-30T17:31:02.577Z","0.4.2-rc.1":"2021-07-30T18:57:24.149Z","0.4.2-rc.2":"2021-08-04T13:52:51.891Z","0.4.2-rc.3":"2021-08-05T11:48:18.961Z","0.4.2-rc.6":"2021-08-09T16:32:31.066Z","0.4.2-rc.8":"2021-08-10T07:19:32.418Z","0.4.2-rc.10":"2021-08-10T09:09:54.314Z","0.4.2-rc.11":"2021-08-11T09:22:54.593Z","0.5.0":"2021-08-11T15:11:52.509Z","0.5.1-rc.4":"2021-08-12T10:51:03.388Z","0.5.1-rc.5":"2021-08-12T11:07:18.964Z","0.5.1-rc.6":"2021-08-12T14:10:55.896Z","0.5.1-rc.7":"2021-08-16T15:47:22.703Z","0.6.0":"2021-08-17T10:42:43.143Z","0.5.1-rc.9":"2021-08-17T10:52:15.480Z","0.5.1-rc.10":"2021-08-17T11:09:40.426Z","0.6.1-rc.1":"2021-08-17T12:56:05.894Z","0.6.1":"2021-08-17T19:58:38.309Z","0.6.2-rc.1":"2021-08-17T21:56:02.375Z","0.6.2-rc.3":"2021-08-25T07:32:35.202Z","0.6.2-rc.4":"2021-08-25T08:52:56.816Z","0.6.2":"2021-08-25T15:56:21.555Z","0.6.3-rc.2":"2021-08-26T09:48:24.133Z","0.6.3-rc.3":"2021-08-26T11:10:11.252Z","0.6.3-rc.4":"2021-08-26T13:58:23.259Z","0.6.3-rc.5":"2021-08-26T15:43:14.834Z","0.6.3-rc.6":"2021-08-31T13:35:02.799Z","0.6.3-rc.7":"2021-09-02T15:00:00.611Z","0.6.3-rc.8":"2021-09-02T17:39:03.237Z","0.6.3":"2021-09-02T18:19:11.526Z","0.6.4-rc.1":"2021-09-06T11:19:05.249Z","0.6.4-rc.2":"2021-09-06T15:02:11.375Z","0.6.4-rc.4":"2021-09-07T17:03:51.779Z","0.6.4-rc.5":"2021-09-08T09:33:29.284Z","0.6.4-rc.8":"2021-09-14T13:40:21.611Z","0.6.4-rc.11":"2021-09-17T12:50:54.052Z","0.6.4":"2021-09-17T13:24:07.896Z","0.6.5-rc.0":"2021-09-17T13:30:15.672Z","0.6.6-rc.0":"2021-09-17T16:25:33.916Z","0.6.5":"2021-09-17T16:36:07.162Z","0.6.6-rc.1":"2021-09-21T16:10:48.374Z","0.6.6-rc.12":"2021-09-23T06:16:21.600Z","0.6.6-rc.13":"2021-09-23T06:26:34.472Z","0.6.6-rc.14":"2021-09-23T10:47:54.497Z","0.6.6-rc.15":"2021-09-23T12:56:51.589Z","0.6.6-rc.16":"2021-09-23T18:33:13.453Z","0.6.6-rc.17":"2021-09-24T11:20:45.876Z","0.6.6-rc.18":"2021-09-24T12:45:34.928Z","0.7.0":"2021-09-24T12:49:25.206Z","0.7.1-rc.0":"2021-09-24T12:53:38.497Z","0.7.1-rc.1":"2021-09-25T17:26:13.783Z","0.7.1-rc.2":"2021-09-25T18:11:09.834Z","0.7.1-rc.3":"2021-09-27T16:37:29.475Z","0.7.1-rc.5":"2021-09-28T12:00:14.828Z","0.7.1":"2021-09-28T12:03:12.408Z","0.7.2-rc.0":"2021-09-28T12:07:41.470Z","0.7.2-rc.1":"2021-09-30T15:48:53.318Z","0.7.2-rc.2":"2021-09-30T17:39:12.570Z","0.7.2-rc.3":"2021-10-02T12:58:15.396Z","0.7.2-rc.4":"2021-10-08T14:33:02.381Z","0.7.2-rc.5":"2021-11-04T07:26:18.915Z","0.7.2-rc.6":"2021-11-12T11:31:14.006Z","0.8.0":"2021-11-12T11:54:36.675Z","0.8.1-rc.0":"2021-11-12T11:56:08.170Z","0.8.1-rc.1":"2021-11-19T15:42:13.020Z","0.8.1":"2021-11-19T15:46:17.281Z","0.8.2-rc.0":"2021-11-19T15:48:33.642Z","0.8.2-rc.1":"2021-11-19T17:23:35.007Z","0.8.2-rc.2":"2021-11-22T16:17:23.998Z","0.8.2-rc.3":"2021-11-24T09:35:49.394Z","0.8.2":"2021-11-24T09:38:02.768Z","0.8.3-rc.0":"2021-11-24T09:39:38.993Z","0.8.3-rc.1":"2021-12-03T10:52:00.530Z","0.8.3-rc.2":"2021-12-03T13:26:27.419Z","0.8.3-rc.3":"2021-12-03T14:05:33.278Z","0.8.3-rc.4":"2021-12-03T15:01:40.084Z","0.8.3-rc.5":"2021-12-06T10:37:51.480Z","0.8.3-rc.6":"2021-12-06T16:28:57.507Z","0.8.3-rc.7":"2021-12-06T22:23:42.492Z","0.8.3-rc.8":"2021-12-13T11:34:36.223Z","0.8.3-rc.9":"2021-12-13T12:09:39.607Z","0.8.3-rc.11":"2021-12-15T12:50:26.599Z","0.8.3-rc.10":"2021-12-15T12:50:39.995Z","0.8.3-rc.12":"2021-12-15T12:53:05.441Z","0.8.3-rc.13":"2021-12-15T18:25:13.568Z","0.9.0":"2021-12-15T20:27:41.335Z","0.9.1-rc.0":"2021-12-15T20:29:51.813Z","0.9.1-rc.1":"2021-12-16T09:06:45.815Z","0.9.1-rc.2":"2021-12-17T09:57:14.868Z","0.9.1-rc.3":"2022-01-13T18:31:17.398Z","0.9.1-rc.4":"2022-01-20T14:26:34.779Z","0.9.1-rc.5":"2022-01-21T15:46:10.673Z","0.9.1-7fe0da57f.0":"2022-01-26T12:14:02.306Z","0.9.1-5439a0e.0":"2022-01-26T13:07:34.034Z","0.9.1-a6b201af.0":"2022-01-27T15:37:25.313Z","0.9.1-fbe14923.0":"2022-01-27T18:17:28.090Z","0.9.1-6cb3a87e.0":"2022-01-27T19:12:36.287Z","0.9.2-2afef2eb.0":"2022-01-27T20:08:57.281Z","0.9.2-3a5d61d4.0":"2022-01-27T21:33:40.027Z","0.9.1-cca6e321.0":"2022-01-27T23:03:46.737Z","0.9.1":"2022-01-27T23:17:46.073Z","0.9.2-8d260215.0":"2022-01-27T23:52:59.924Z","0.9.2-2c8ec080.0":"2022-01-28T14:56:24.559Z","0.9.2-3a74c110.0":"2022-02-04T16:17:04.474Z","0.9.2-383dc07d.0":"2022-02-04T19:57:10.882Z","0.9.2-709831f6.0":"2022-02-06T16:03:24.628Z","0.9.2":"2022-02-07T16:51:30.639Z","0.9.3-1082fce9.0":"2022-02-18T16:14:59.875Z","0.9.3-125d42ba.0":"2022-03-01T09:46:56.716Z","0.9.3-df1bd1bb.0":"2022-03-01T11:11:12.032Z","0.9.3":"2022-04-05T15:10:14.911Z","0.9.4-e90b8f13.0":"2022-04-05T16:10:04.607Z","0.9.4-8f7ce23c.0":"2022-04-20T12:40:13.815Z","0.9.4":"2022-04-26T07:02:06.746Z","0.9.5-7165bf71.0":"2022-05-16T20:07:54.704Z","0.9.5-4e93dd5d.0":"2022-05-27T13:43:09.405Z","0.9.5-919b27a8.0":"2022-05-27T16:18:35.788Z","0.10.0":"2022-05-30T19:17:21.125Z","0.10.1-ddfb899f.0":"2022-05-30T19:56:58.921Z","0.10.1-764b4adc.0":"2022-06-01T14:26:23.129Z","0.10.1-be025c89.0":"2022-06-01T14:31:33.262Z","0.10.1-87e00a69.0":"2022-06-01T14:36:14.581Z","0.10.1-70e142ac.0":"2022-06-13T16:00:33.318Z","0.10.1-7be50bd1.0":"2022-06-22T17:48:36.050Z","0.10.1":"2022-06-23T12:03:15.796Z","0.10.2-00bd3dd0.0":"2022-06-24T09:30:48.590Z","0.10.2":"2022-06-24T10:25:23.633Z","0.10.3-a05695fc.0":"2022-07-20T13:22:19.450Z","0.10.3-39dbf708.0":"2022-08-17T21:42:56.685Z","0.10.3-8f351a89.0":"2022-08-17T23:18:49.213Z","0.10.3-83f9882e.0":"2022-09-06T11:30:31.898Z","0.10.3-051da161.0":"2022-09-07T12:55:24.231Z","0.11.0":"2022-09-07T13:37:48.358Z","0.11.1-b5456882.0":"2022-09-16T09:24:12.687Z","0.11.1-7c676f63.0":"2022-09-21T19:16:21.957Z","0.11.1-2a830bf5.0":"2022-09-21T20:54:00.112Z","0.11.1-7304a0f4.0":"2022-09-21T20:54:42.906Z","0.11.1":"2022-09-21T21:54:55.473Z","0.11.2-d75e0a39.0":"2022-09-22T08:52:07.474Z","0.11.2-d1b0a8a7.0":"2022-09-22T10:41:43.558Z","0.11.2-acbc1c62.0":"2022-09-22T12:59:50.643Z","0.11.2-dfc43d4e.0":"2022-09-26T14:20:17.095Z","0.11.2-0cee4a4c.0":"2022-10-24T09:13:23.730Z","0.12.0":"2022-10-24T10:47:25.695Z","0.12.1-a77e40cc.0":"2022-10-25T07:11:22.846Z","0.12.1-58e6f468.0":"2022-10-25T08:15:38.617Z","0.12.1-6ae5eb7d.0":"2022-10-28T07:29:46.723Z","0.12.1-6be59068.0":"2022-11-17T19:47:51.267Z","0.0.1-563806f1.0":"2023-01-09T18:11:09.915Z","0.0.1-e85e5b6e.0":"2023-01-09T19:15:57.471Z","0.0.1-2a6fede5.0":"2023-01-10T09:35:48.094Z","0.12.0-5f73ecad":"2023-01-10T17:15:09.295Z","0.12.0-4b4c124c":"2023-01-11T16:06:36.515Z","0.12.0-789ee585":"2023-01-11T17:06:07.522Z","0.12.0-fa578bac":"2023-01-11T17:51:01.140Z","0.12.0-d1c3abb3":"2023-01-11T18:09:39.409Z","0.13.0":"2023-01-12T11:36:36.086Z","0.13.0-6eeb1be5":"2023-01-13T18:20:31.455Z","0.13.0-ab02e8f8":"2023-01-17T12:24:12.679Z","0.13.0-3bcabe38":"2023-01-17T15:30:59.144Z","0.13.0-b64d4af0":"2023-02-01T11:24:59.848Z","0.13.0-e64813f6":"2023-05-24T18:45:44.456Z","0.13.0-4694e806":"2023-05-25T11:31:44.257Z","0.13.0-6d95ce08":"2023-05-25T12:10:34.417Z","0.13.0-7b79c1b8":"2023-05-25T12:46:17.798Z","0.13.1":"2023-05-25T14:59:39.133Z"},"maintainers":[{"email":"alex@achingbrain.net","name":"achingbrain"},{"email":"npm-service-account+ipfs@protocol.ai","name":"npm-service-account-ipfs"}],"license":"Apache-2.0 OR MIT","readme":"> # ⛔️ DEPRECATED: [js-IPFS](https://github.com/ipfs/js-ipfs) has been superseded by [Helia](https://github.com/ipfs/helia)\n>\n> 📚 [Learn more about this deprecation](https://github.com/ipfs/js-ipfs/issues/4336) or [how to migrate](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS)\n>\n> ⚠️ If you continue using this repo, please note that security fixes will not be provided\n\n# ipfs-grpc-client <!-- omit in toc -->\n\n[![ipfs.tech](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](https://ipfs.tech)\n[![Discuss](https://img.shields.io/discourse/https/discuss.ipfs.tech/posts.svg?style=flat-square)](https://discuss.ipfs.tech)\n[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipfs/js-ipfs/test.yml?branch=master\\&style=flat-square)](https://github.com/ipfs/js-ipfs/actions/workflows/test.yml?query=branch%3Amaster)\n\n> A client library for the IPFS gRPC API\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n  - [Browser `<script>` tag](#browser-script-tag)\n- [Why?](#why)\n- [API](#api)\n  - [`create([options])`](#createoptions)\n  - [Parameters](#parameters)\n  - [Options](#options)\n  - [Returns](#returns)\n  - [Example](#example)\n- [License](#license)\n- [Contribute](#contribute)\n\n## Install\n\n```console\n$ npm i ipfs-grpc-client\n```\n\n### Browser `<script>` tag\n\nLoading this module through a script tag will make it's exports available as `IpfsGrpcClient` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/ipfs-grpc-client/dist/index.min.js\"></script>\n```\n\nThis module implements part of the [IPFS Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) using      gRPC over websockets to achieve the bidirectional streaming necessary to have full duplex streams running in the browser.\n\nIt's not recommended you use this directly, instead use the [ipfs-client](https://www.npmjs.com/package/ipfs-client) to combine this with the [ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) in order to have HTTP fallback for the missing parts of the API.\n\n## Why?\n\nThe [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [XHR](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) APIs do not allow for full-duplex streaming, that is, allowing the client to receive bytes from the response while also adding more bytes to the outgoing request.\n\nThis limits what we can do in browsers in terms of the API, for example streaming arbitrarily sized payloads or exposing libp2p duplex streams.\n\ngPRC over websockets has no such limitations so allows us to harness the full power of a remote IPFS node in the browser without the need to work around browser behaviour.\n\n## API\n\n### `create([options])`\n\n### Parameters\n\nNone\n\n### Options\n\nAn optional object which may have the following keys:\n\n| Name  | Type                                                                 | Default     | Description                                                       |\n| ----- | -------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |\n| url   | `Multiaddr` or `string` or `URL`                                     | `undefined` | The address of a [ipfs-grpc-server][] to connect to               |\n| agent | [http.Agent](https://nodejs.org/api/http.html#http_class_http_agent) | `undefined` | A http.Agent used to control HTTP client behaviour (node.js only) |\n\n### Returns\n\n| Type     | Description               |\n| -------- | ------------------------- |\n| `object` | An instance of the client |\n\n### Example\n\n```js\nimport { create } from 'ipfs-gprc-client'\n\nconst client = create({\n  url: '/ipv4/127.0.0.1/tcp/1234/ws'\n})\n\nconst id = await client.id()\n```\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribute\n\nContributions welcome! Please check out [the issues](https://github.com/ipfs/js-ipfs/issues).\n\nAlso see our [contributing document](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md) for more information on how we work, and about contributing in general.\n\nPlease be aware that all interactions related to this repo are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)\n\n[ipfs-grpc-server]: https://www.npmjs.com/package/ipfs-grpc-server\n","readmeFilename":"README.md","description":"A client library for the IPFS gRPC API","homepage":"https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-grpc-client#readme","keywords":["ipfs"],"repository":{"type":"git","url":"git+https://github.com/ipfs/js-ipfs.git"},"bugs":{"url":"https://github.com/ipfs/js-ipfs/issues"}}