Compare commits

...

5 Commits

Author SHA1 Message Date
semantic-release-bot c88864d4d6 chore(release): 0.0.2-develop.5 [skip ci]
## [0.0.2-develop.5](https://git.lumeweb.com/LumeWeb/rpc-client/compare/v0.0.2-develop.4...v0.0.2-develop.5) (2023-07-22)

### Bug Fixes

* add _endPeerOnError optional function to conditionally end a peer if there is an error ([5971d0a](5971d0ace8))
2023-07-22 13:25:01 +00:00
Derrick Hammer cc60a0aa12
dep: fix lockfile 2023-07-22 09:23:57 -04:00
Derrick Hammer 5971d0ace8
fix: add _endPeerOnError optional function to conditionally end a peer if there is an error 2023-07-22 09:17:34 -04:00
Derrick Hammer dfe540d82c
Merge remote-tracking branch 'origin/develop' into develop 2023-07-04 21:30:15 -04:00
Derrick Hammer c7df324264
dep: update @lumeweb/rpc 2023-07-04 21:30:11 -04:00
4 changed files with 29 additions and 13 deletions

View File

@ -1,3 +1,10 @@
## [0.0.2-develop.5](https://git.lumeweb.com/LumeWeb/rpc-client/compare/v0.0.2-develop.4...v0.0.2-develop.5) (2023-07-22)
### Bug Fixes
* add _endPeerOnError optional function to conditionally end a peer if there is an error ([5971d0a](https://git.lumeweb.com/LumeWeb/rpc-client/commit/5971d0ace858eebd30afbf4b644457d42acc04dd))
## [0.0.2-develop.4](https://git.lumeweb.com/LumeWeb/rpc-client/compare/v0.0.2-develop.3...v0.0.2-develop.4) (2023-07-04)

20
npm-shrinkwrap.json generated
View File

@ -1,15 +1,15 @@
{
"name": "@lumeweb/rpc-client",
"version": "0.0.2-develop.4",
"version": "0.0.2-develop.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@lumeweb/rpc-client",
"version": "0.0.2-develop.4",
"version": "0.0.2-develop.5",
"dependencies": {
"@lumeweb/interface-relay": "0.0.2-develop.1",
"@lumeweb/rpc": "0.0.2-develop.2",
"@lumeweb/rpc": "0.0.2-develop.3",
"b4a": "^1.6.4",
"binconv": "^0.2.0",
"hypercore-crypto": "^3.3.1",
@ -1831,12 +1831,12 @@
}
},
"node_modules/@lumeweb/rpc": {
"version": "0.0.2-develop.2",
"resolved": "https://registry.npmjs.org/@lumeweb/rpc/-/rpc-0.0.2-develop.2.tgz",
"integrity": "sha512-3+TEXxk1vHI90MgBEY4dJY8OErcKuqQ0GYRjjb4akOSA89LkL7k1uwHOXNusWk4T6NAx1nfm/6jiB9+FKmI+zw==",
"version": "0.0.2-develop.3",
"resolved": "https://registry.npmjs.org/@lumeweb/rpc/-/rpc-0.0.2-develop.3.tgz",
"integrity": "sha512-zXmioX1HPXt6n+jwz9RLilWUNe1mSoZ6vA7SVmu3JpbNTuJKWqC+2W5csRH8ECQRaWjl5hxF38Gbx4cJV7PbaQ==",
"dependencies": {
"compact-encoding": "2.12.0",
"protomux-rpc": "1.4.0"
"protomux-rpc": "1.4.1"
}
},
"node_modules/@nodelib/fs.scandir": {
@ -15753,9 +15753,9 @@
}
},
"node_modules/protomux-rpc": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/protomux-rpc/-/protomux-rpc-1.4.0.tgz",
"integrity": "sha512-X1JpCksH0yUh8DxoAOCxP4nX5aJeQPiPe3IybdRKc9OXSw/mtn8qdNBm4EgsgqfoL1V4LE5rUgi2vjIFpP/2Cg==",
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/protomux-rpc/-/protomux-rpc-1.4.1.tgz",
"integrity": "sha512-J0WuK5uxyj1sKpGaM5dYvZGa3JRHDLpZI0qgENto8OXXDSPNGvcTQVuyKUFlFoxHYVm20RIsUhiWYZwzfuBMKA==",
"dependencies": {
"bits-to-bytes": "^1.0.0",
"compact-encoding": "^2.6.1",

View File

@ -1,7 +1,7 @@
{
"name": "@lumeweb/rpc-client",
"type": "module",
"version": "0.0.2-develop.4",
"version": "0.0.2-develop.5",
"main": "lib/index.js",
"repository": {
"type": "git",
@ -19,7 +19,7 @@
},
"dependencies": {
"@lumeweb/interface-relay": "0.0.2-develop.1",
"@lumeweb/rpc": "0.0.2-develop.2",
"@lumeweb/rpc": "0.0.2-develop.3",
"b4a": "^1.6.4",
"binconv": "^0.2.0",
"hypercore-crypto": "^3.3.1",

View File

@ -7,11 +7,18 @@ import { uint8ArrayToHexString } from "binconv";
export default class RpcNetwork {
private _relaysAvailablePromise?: Promise<void>;
private _relaysAvailableResolve?: Function;
constructor(swarm = new Hyperswarm()) {
this._swarm = swarm;
this.init();
}
private _endPeerOnError?: (peer: any) => Promise<boolean>;
set endPeerOnError(value: (peer: any) => Promise<boolean>) {
this._endPeerOnError = value;
}
private _methods: Map<string, Set<string>> = new Map<string, Set<string>>();
get methods(): Map<string, Set<string>> {
@ -142,7 +149,9 @@ export default class RpcNetwork {
const resp = await query.result;
if (resp.error) {
relay.end();
if (await this._endPeerOnError?.(relay)) {
relay.end();
}
return;
}