Skip to content

Commit 9b2ca96

Browse files
committed
Add done event
1 parent d64b51a commit 9b2ca96

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

index.d.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export type BuiltInEventType = 'open' | 'message' | 'error' | 'close';
1+
export type BuiltInEventType = 'open' | 'message' | 'error' | 'done' | 'close';
22
export type EventType<E extends string = never> = E | BuiltInEventType;
33

44
export interface MessageEvent {
@@ -12,6 +12,10 @@ export interface OpenEvent {
1212
type: 'open';
1313
}
1414

15+
export interface DoneEvent {
16+
type: 'done';
17+
}
18+
1519
export interface CloseEvent {
1620
type: 'close';
1721
}
@@ -55,6 +59,7 @@ export interface EventSourceOptions {
5559
type BuiltInEventMap = {
5660
'message': MessageEvent,
5761
'open': OpenEvent,
62+
'done': DoneEvent,
5863
'close': CloseEvent,
5964
'error': ErrorEvent | TimeoutEvent | ExceptionEvent,
6065
};

src/EventSource.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class EventSource {
2424
open: [],
2525
message: [],
2626
error: [],
27+
done: [],
2728
close: [],
2829
};
2930

@@ -115,6 +116,7 @@ class EventSource {
115116
this._handleEvent(xhr.responseText || '');
116117

117118
if (xhr.readyState === XMLHttpRequest.DONE) {
119+
this.dispatch('done', { type: 'done' });
118120
this._logDebug('[EventSource][onreadystatechange][DONE] Operation done.');
119121
this._pollAgain(this.interval, false);
120122
}

0 commit comments

Comments
 (0)