mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 00:45:53 -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
|
||||
```
|
||||
|
||||
## 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
|
||||
|
||||
See https://github.com/aljazceru/awesome-nostr#nip-07-browser-extensions.
|
||||
|
|
Loading…
Reference in New Issue
Block a user