SDK / @jackmorgan/phaser-catalog
Catalog SDK
A tiny typed client for the Phaser REST API. No wallet code, no streaming logic — just browse, search, and read catalog data.
v1.2.0
4.2 kB gz
Install
terminal
$ npm install @jackmorgan/phaser-cataloginit.ts
import { CatalogClient } from "@jackmorgan/phaser-catalog"; const catalog = new CatalogClient({ token: process.env.PHASER_JWT });
Methods
| Method | Returns | Description |
|---|---|---|
tracks(q?) | Paginated<Track> | List tracks. |
track(id) | Track | Single track. |
artists(q?) | Paginated<Artist> | Browse artists. |
albums(q?) | Paginated<Album> | Album list. |
playlists(q?) | Paginated<Playlist> | Curated + user playlists. |
search(q) | SearchResult | Fuzzy search. |
me() | User | Current user (JWT). |
Pagination
Every list endpoint uses cursor pagination. Pass nextCursor for next page.
types.d.ts
type Paginated<T> = { data: T[]; nextCursor: string | null; total: number; };
Errors
| Class | HTTP | Meaning |
|---|---|---|
PhaserNotFound | 404 | Resource doesn't exist. |
PhaserRateLimit | 429 | Too many requests. |
PhaserAuthRequired | 401 | Missing JWT. |
PhaserValidation | 400 | Invalid query. |