0.2.0 • Published 11 months ago

@tidal-music/api v0.2.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
11 months ago

TIDAL API v2 Beta

A thin wrapper around the API domains described at: https://developer.tidal.com/apiref (which is again built on the JSON API spec: https://jsonapi.org/format/)

The module provides Typescript types and a fetch based function for getting data, using: https://openapi-ts.pages.dev/

Usage

One function is exposed that can be used for creating a function that can then do network calls: createAPIClient. Also the API types are exposed and can be used directly.

Example

See the examples/ folder for some ways it can be used.

To run it do: pnpm dev

Usage in Node.js

The previous examples assume usage in a browser context, but for server-side / Node.js usage there is an extra step needed. As the Auth package uses LocalStorage you have two options:

  1. Shim or polyfill LocalStorage into Node.js, for instance with something like: https://github.com/capaj/localstorage-polyfill
  2. Implementing a CredentialsProvider per the interface defined here: https://github.com/tidal-music/tidal-sdk-web/blob/main/packages/common/src/credentialsProvider.ts (more details on how it should work in the Auth module and related spec: https://github.com/tidal-music/tidal-sdk-web/tree/main/packages/auth) and pass that in when initializing this module: createAPIClient(myAuthProvider)

Which approach to choose will depend on how much control you need over the Auth flow.

Development

Run pnpm generateTypes to regenerate the types from the API specs.

0.2.0

11 months ago

0.1.0

1 year ago