Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DataConnector<T, U, V, W>

An abstract class that adheres to the data connector interface.

Type parameters

  • T

    The basic entity response type a service's connector.

  • U = T

    The basic entity request type, which is conventionally the same as the response type but may be different if a service's implementation requires input data to be different from output responses. Defaults to T.

  • V = string

    The basic token applied to a request, conventionally a string ID or filter, but may be set to a different type when an implementation requires it. Defaults to string.

  • W = string

    The type of the optional query parameter of the list method. Defaults to string.

    Notes

    The only abstract method in this class is the fetch method, which must be reimplemented by all subclasses. The remove and save methods have a default implementation that returns a promise that will always reject. This class is a convenience superclass for connectors that only need to fetch.

Hierarchy

Implements

Index

Constructors

Methods

Constructors

constructor

  • Type parameters

    • T

    • U = T

    • V = string

    • W = string

    Returns DataConnector

Methods

Abstract fetch

  • fetch(id: V): Promise<T | undefined>
  • Retrieve an item from the data connector.

    Parameters

    • id: V

      The identifier used to retrieve an item.

    Returns Promise<T | undefined>

    A promise that resolves with a data payload if available.

    Notes

    The promise returned by this method may be rejected if an error occurs in retrieving the data. Nonexistence of an id will succeed with undefined.

list

  • list(query?: W): Promise<{ ids: V[]; values: T[] }>
  • Retrieve the list of items available from the data connector.

    Parameters

    • Optional query: W

      The optional query filter to apply to the connector request.

    Returns Promise<{ ids: V[]; values: T[] }>

    A promise that always rejects with an error.

    Notes

    Subclasses should reimplement if they support a back-end that can list.

remove

  • remove(id: V): Promise<any>
  • Remove a value using the data connector.

    Parameters

    • id: V

      The identifier for the data being removed.

    Returns Promise<any>

    A promise that always rejects with an error.

    Notes

    Subclasses should reimplement if they support a back-end that can remove.

save

  • save(id: V, value: U): Promise<any>
  • Save a value using the data connector.

    Parameters

    • id: V

      The identifier for the data being saved.

    • value: U

      The data being saved.

    Returns Promise<any>

    A promise that always rejects with an error.

    Notes

    Subclasses should reimplement if they support a back-end that can save.

Generated using TypeDoc