Class Fetcher

Fetcher with internal cache

Hierarchy

  • Fetcher

Constructors

Properties

Methods

Constructors

  • Parameters

    • base: string = "https://api.gamer.com.tw/mobile_app/anime/"

      API base URL

    Returns Fetcher

Properties

base: string = "https://api.gamer.com.tw/mobile_app/anime/"

API base URL

cache: Map<string, [exp: number, data: unknown]> = ...

Internal cache

listeners: Map<string, Set<((...args: unknown[]) => void)>> = ...

Event listeners

Methods

  • Emit an event

    Parameters

    • event: "cache-hit"

      Event name

    • endpoint: string

    Returns void

  • Parameters

    • event: "cache-miss"
    • endpoint: string

    Returns void

  • Parameters

    • event: "fetch-start"
    • url: string

    Returns void

  • Parameters

    • event: "fetch-end"
    • url: string

    Returns void

  • Parameters

    • event: "json-parse"
    • url: string
    • json: Record<string, unknown>

    Returns void

  • Get parsed json data from endpoint

    Type Parameters

    Parameters

    • endpoint: T

      Endpoint path

    Returns Promise<EndpointResult<T>>

  • Type Parameters

    • T extends string

    Parameters

    • endpoint: T

    Returns Promise<unknown>

  • Remove a listener for an event

    Parameters

    • event: "cache-hit"

      Event name

    • listener: ((endpoint: string) => void)

      Listener function

        • (endpoint: string): void
        • Parameters

          • endpoint: string

          Returns void

    Returns void

  • Parameters

    • event: "cache-miss"
    • listener: ((endpoint: string) => void)
        • (endpoint: string): void
        • Parameters

          • endpoint: string

          Returns void

    Returns void

  • Parameters

    • event: "fetch-start"
    • listener: ((url: string) => void)
        • (url: string): void
        • Parameters

          • url: string

          Returns void

    Returns void

  • Parameters

    • event: "fetch-end"
    • listener: ((url: string) => void)
        • (url: string): void
        • Parameters

          • url: string

          Returns void

    Returns void

  • Parameters

    • event: "json-parse"
    • listener: ((url: string, json: Record<string, unknown>) => void)
        • (url: string, json: Record<string, unknown>): void
        • Parameters

          • url: string
          • json: Record<string, unknown>

          Returns void

    Returns void

  • Add a listener for an event

    Parameters

    • event: "cache-hit"

      Event name

    • listener: ((endpoint: string) => void)

      Listener function

        • (endpoint: string): void
        • Parameters

          • endpoint: string

          Returns void

    Returns void

  • Parameters

    • event: "cache-miss"
    • listener: ((endpoint: string) => void)
        • (endpoint: string): void
        • Parameters

          • endpoint: string

          Returns void

    Returns void

  • Parameters

    • event: "fetch-start"
    • listener: ((url: string) => void)
        • (url: string): void
        • Parameters

          • url: string

          Returns void

    Returns void

  • Parameters

    • event: "fetch-end"
    • listener: ((url: string) => void)
        • (url: string): void
        • Parameters

          • url: string

          Returns void

    Returns void

  • Parameters

    • event: "json-parse"
    • listener: ((url: string, json: Record<string, unknown>) => void)
        • (url: string, json: Record<string, unknown>): void
        • Parameters

          • url: string
          • json: Record<string, unknown>

          Returns void

    Returns void

Generated using TypeDoc