Compare commits

..

1 Commits

Author SHA1 Message Date
fiatjaf
d46c5f947c fix tests, .seenOn() method for pools. 2023-02-09 15:11:09 -03:00
3 changed files with 21 additions and 21 deletions

View File

@@ -128,7 +128,7 @@ import 'websocket-polyfill'
### Interacting with multiple relays ### Interacting with multiple relays
```js ```js
import {SimplePool} from 'nostr-tools' import {pool} from 'nostr-tools'
const pool = new SimplePool() const pool = new SimplePool()
@@ -293,11 +293,6 @@ Please consult the tests or [the source code](https://github.com/fiatjaf/nostr-t
</script> </script>
``` ```
## Plumbing
1. Install [`just`](https://just.systems/)
2. `just -l`
## License ## License
Public domain. Public domain.

View File

@@ -1,6 +1,6 @@
{ {
"name": "nostr-tools", "name": "nostr-tools",
"version": "1.4.1", "version": "1.3.2",
"description": "Tools for making a Nostr client.", "description": "Tools for making a Nostr client.",
"repository": { "repository": {
"type": "git", "type": "git",
@@ -9,12 +9,11 @@
"main": "lib/nostr.cjs.js", "main": "lib/nostr.cjs.js",
"module": "lib/nostr.esm.js", "module": "lib/nostr.esm.js",
"dependencies": { "dependencies": {
"@noble/hashes": "1.0.0", "@noble/hashes": "^0.5.7",
"@noble/secp256k1": "^1.7.1", "@noble/secp256k1": "^1.7.0",
"@scure/base": "^1.1.1", "@scure/base": "^1.1.1",
"@scure/bip32": "^1.1.5", "@scure/bip32": "^1.1.1",
"@scure/bip39": "^1.1.1", "@scure/bip39": "^1.1.0"
"prettier": "^2.8.4"
}, },
"keywords": [ "keywords": [
"decentralization", "decentralization",
@@ -24,20 +23,20 @@
"nostr" "nostr"
], ],
"devDependencies": { "devDependencies": {
"@types/node": "^18.13.0", "@types/node": "^18.0.3",
"@typescript-eslint/eslint-plugin": "^5.51.0", "@typescript-eslint/eslint-plugin": "^5.46.1",
"@typescript-eslint/parser": "^5.51.0", "@typescript-eslint/parser": "^5.46.1",
"esbuild": "0.16.9", "esbuild": "0.16.9",
"esbuild-plugin-alias": "^0.2.1", "esbuild-plugin-alias": "^0.2.1",
"eslint": "^8.33.0", "eslint": "^8.30.0",
"eslint-plugin-babel": "^5.3.1", "eslint-plugin-babel": "^5.3.1",
"esm-loader-typescript": "^1.0.3", "esm-loader-typescript": "^1.0.1",
"events": "^3.3.0", "events": "^3.3.0",
"jest": "^29.4.2", "jest": "^29.3.1",
"node-fetch": "^2.6.9", "node-fetch": "2",
"ts-jest": "^29.0.5", "ts-jest": "^29.0.3",
"tsd": "^0.22.0", "tsd": "^0.22.0",
"typescript": "^4.9.5", "typescript": "^4.9.4",
"websocket-polyfill": "^0.0.3" "websocket-polyfill": "^0.0.3"
} }
} }

View File

@@ -38,6 +38,10 @@ export type SubscriptionOptions = {
export function relayInit(url: string): Relay { export function relayInit(url: string): Relay {
var ws: WebSocket var ws: WebSocket
var resolveClose: () => void var resolveClose: () => void
var setOpen: (value: PromiseLike<void> | void) => void
var untilOpen = new Promise<void>(resolve => {
setOpen = resolve
})
var openSubs: {[id: string]: {filters: Filter[]} & SubscriptionOptions} = {} var openSubs: {[id: string]: {filters: Filter[]} & SubscriptionOptions} = {}
var listeners: { var listeners: {
connect: Array<() => void> connect: Array<() => void>
@@ -70,6 +74,7 @@ export function relayInit(url: string): Relay {
ws.onopen = () => { ws.onopen = () => {
listeners.connect.forEach(cb => cb()) listeners.connect.forEach(cb => cb())
setOpen()
resolve() resolve()
} }
ws.onerror = () => { ws.onerror = () => {
@@ -166,6 +171,7 @@ export function relayInit(url: string): Relay {
async function trySend(params: [string, ...any]) { async function trySend(params: [string, ...any]) {
let msg = JSON.stringify(params) let msg = JSON.stringify(params)
await untilOpen
try { try {
ws.send(msg) ws.send(msg)
} catch (err) { } catch (err) {