UNPKG

songsterr-api-node

Version:
37 lines (32 loc) 859 B
import fetch from "node-fetch" import { idToTuning } from "./idToTuning" import { IsongsterrTabs, InewTuning } from "./interfaces" const BASEURL = "https://www.songsterr.com/api/" /** * @param {string} string - A string to search for. * @return {Array} Array - Array of object's that includes all result's */ export const songsterrSearch = async ( string: string ): Promise<IsongsterrTabs> => { try { const response = await ( await fetch(BASEURL + "songs?pattern=" + string + "&size=200") ).json() const Tabs: IsongsterrTabs = response for (const songs of Tabs) { for (const tracks of songs.tracks) { if (tracks.tuning) (tracks.tuning as InewTuning) = idToTuning( tracks.tuning as number[] ) } } return Tabs } catch (err) { if (err) { return err } throw err } }