mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 08:55:52 -05:00
added cmd queue
This commit is contained in:
parent
b765b3c030
commit
963e628466
29
07.md
29
07.md
|
@ -24,6 +24,35 @@ async window.nostr.nip44.encrypt(pubkey, plaintext): string // returns ciphertex
|
||||||
async window.nostr.nip44.decrypt(pubkey, ciphertext): string // takes ciphertext as specified in nip-44
|
async window.nostr.nip44.decrypt(pubkey, ciphertext): string // takes ciphertext as specified in nip-44
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Command Queue
|
||||||
|
|
||||||
|
In order to avoid race conditions the object SHOULD have a `cmd` property.
|
||||||
|
This object is defined as follows
|
||||||
|
|
||||||
|
```ts
|
||||||
|
window.nostr.cmd: (() => void)[]
|
||||||
|
```
|
||||||
|
|
||||||
|
Browsers or extensions SHOULD invoke all callbacks queued once it has finished loading.
|
||||||
|
After that it should shadow the `push` method on `cmd`
|
||||||
|
to immediately invoke subsequent queues
|
||||||
|
|
||||||
|
This allows consumers to queue up calls to the NIP-07 providers even before
|
||||||
|
it is present.
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
Queue a command
|
||||||
|
|
||||||
|
```js
|
||||||
|
window.nostr = window.nostr || { cmd: [] };
|
||||||
|
|
||||||
|
window.nostr.cmd.push(() => {
|
||||||
|
const pk = window.nostr.getPublicKey();
|
||||||
|
// do something with pk
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
### Implementation
|
### Implementation
|
||||||
|
|
||||||
See https://github.com/aljazceru/awesome-nostr#nip-07-browser-extensions.
|
See https://github.com/aljazceru/awesome-nostr#nip-07-browser-extensions.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user