eventsource.d.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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
  19. onmessage: (this: EventSource, ev: MessageEvent) => any
  20. onopen: (this: EventSource, ev: Event) => any
  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. dispatcher?: Dispatcher
  55. }