eventsource.d.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { MessageEvent, ErrorEvent } from './websocket'
  2. import Dispatcher from './dispatcher'
  3. import {
  4. EventListenerOptions,
  5. AddEventListenerOptions,
  6. EventListenerOrEventListenerObject
  7. } from './patch'
  8. interface EventSourceEventMap {
  9. error: ErrorEvent
  10. message: MessageEvent
  11. open: Event
  12. }
  13. interface EventSource extends EventTarget {
  14. close(): void
  15. readonly CLOSED: 2
  16. readonly CONNECTING: 0
  17. readonly OPEN: 1
  18. onerror: ((this: EventSource, ev: ErrorEvent) => any) | null
  19. onmessage: ((this: EventSource, ev: MessageEvent) => any) | null
  20. onopen: ((this: EventSource, ev: Event) => any) | null
  21. readonly readyState: 0 | 1 | 2
  22. readonly url: string
  23. readonly withCredentials: boolean
  24. addEventListener<K extends keyof EventSourceEventMap>(
  25. type: K,
  26. listener: (this: EventSource, ev: EventSourceEventMap[K]) => any,
  27. options?: boolean | AddEventListenerOptions
  28. ): void
  29. addEventListener(
  30. type: string,
  31. listener: EventListenerOrEventListenerObject,
  32. options?: boolean | AddEventListenerOptions
  33. ): void
  34. removeEventListener<K extends keyof EventSourceEventMap>(
  35. type: K,
  36. listener: (this: EventSource, ev: EventSourceEventMap[K]) => any,
  37. options?: boolean | EventListenerOptions
  38. ): void
  39. removeEventListener(
  40. type: string,
  41. listener: EventListenerOrEventListenerObject,
  42. options?: boolean | EventListenerOptions
  43. ): void
  44. }
  45. export declare const EventSource: {
  46. prototype: EventSource
  47. new (url: string | URL, init?: EventSourceInit): EventSource
  48. readonly CLOSED: 2
  49. readonly CONNECTING: 0
  50. readonly OPEN: 1
  51. }
  52. interface EventSourceInit {
  53. withCredentials?: boolean
  54. // @deprecated use `node.dispatcher` instead
  55. dispatcher?: Dispatcher
  56. node?: {
  57. dispatcher?: Dispatcher
  58. reconnectionTime?: number
  59. }
  60. }