mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 19:07:08 +00:00
Improve types for Primus (#43297)
This commit is contained in:
parent
628419fc4f
commit
65988eac2a
29
types/primus/index.d.ts
vendored
29
types/primus/index.d.ts
vendored
@ -145,6 +145,20 @@ declare namespace Primus {
|
||||
on(event: 'end', handler: () => void): this;
|
||||
}
|
||||
|
||||
interface ReconnectOpts {
|
||||
max?: number;
|
||||
min?: number;
|
||||
retries?: number | null;
|
||||
'reconnect timeout'?: number;
|
||||
factor?: number;
|
||||
}
|
||||
interface ReconnectEventOpts extends Required<ReconnectOpts> {
|
||||
start: number;
|
||||
duration: number;
|
||||
attempt: number;
|
||||
backoff: boolean;
|
||||
scheduled: number;
|
||||
}
|
||||
interface SocketOptions {
|
||||
// https://github.com/unshiftio/recovery
|
||||
reconnect?: {
|
||||
@ -173,18 +187,9 @@ declare namespace Primus {
|
||||
emits: emits.emits;
|
||||
id(fn: (id: string) => void): this;
|
||||
|
||||
on(
|
||||
event:
|
||||
| 'open'
|
||||
| 'reconnect'
|
||||
| 'reconnect scheduled'
|
||||
| 'reconnected'
|
||||
| 'reconnect timeout'
|
||||
| 'reconnect failed'
|
||||
| 'end',
|
||||
handler: () => void,
|
||||
): this;
|
||||
|
||||
on(event: 'open' | 'end', handler: () => void): this;
|
||||
on(event: 'reconnect' | 'reconnect scheduled' | 'reconnected', handler: (opts: ReconnectEventOpts) => void): this;
|
||||
on(event: 'reconnect timeout' | 'reconnect failed', handler: (err: Error, opts: ReconnectEventOpts) => void): this;
|
||||
on(event: 'data', handler: (message: any) => void): this;
|
||||
on(event: 'error', handler: (err: Error) => void): this;
|
||||
}
|
||||
|
||||
@ -16,3 +16,8 @@ const client = new Socket('ws://www.example.com');
|
||||
client.on('open', () => {
|
||||
client.write('foo');
|
||||
});
|
||||
|
||||
client.on('reconnect scheduled', (opts) => {
|
||||
console.log('Reconnecting in %d ms', opts.scheduled);
|
||||
console.log('This is attempt %d out of %d', opts.attempt, opts.retries);
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user