eventsource.d.ts 1.6 KB

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