1.1.0 • Published 2 years ago

@ta-interaktiv/api-access v1.1.0

Weekly downloads
58
License
MIT
Repository
gitlab
Last release
2 years ago

API Access

This package centralises the access points to all the different APIs that are currently in use in this organisation.

Should the APIs change at some point (and they will), it should be possible to change this package and have all other packages that depend on API calls be updated automatically.

Usage

This package exports functions that return promises for the requested property.

Example: Share Counts for an article

import React, { useState, useEffect } from 'react'
import { getTotalShareCount } from '@ta-interaktiv/api-access'
import { parseHostname } from '@ta-interaktiv/parse-hostname'

export function YourComponent({ articleId }: { articleId: string }) {
  const [shareCount, setShareCount] = useState(0)

  useEffect(() => {
    // Get the share count for an article on a specific publication
    // Returns a promise
    getTotalShareCount(parseHostname().publicationName, articleId)
      // So you have to set the state here
      .then(count => setShareCount(count))
  }, [articleId])

  return <div>{shareCount}</div>
}

This package caches the requests to the API for each domain and article ID, so you can call these functions without having to fear that you flood the API endpoints with requests.