eventsource.d.ts 1.6 KB

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