diff options
author | Minteck <contact@minteck.org> | 2022-02-09 17:58:07 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-02-09 17:58:07 +0100 |
commit | 22a25ded9f7d9c9a96cce8d1bc12475ca0434201 (patch) | |
tree | 0e33d0650fe58f41c00bbc4b8047956905766823 /node_modules/genius-lyrics/dist/Artists | |
parent | 8f54d903fb3470823a5e4d6ff4655de009836245 (diff) | |
download | youtoo-22a25ded9f7d9c9a96cce8d1bc12475ca0434201.tar.gz youtoo-22a25ded9f7d9c9a96cce8d1bc12475ca0434201.tar.bz2 youtoo-22a25ded9f7d9c9a96cce8d1bc12475ca0434201.zip |
Major update
Diffstat (limited to 'node_modules/genius-lyrics/dist/Artists')
-rw-r--r-- | node_modules/genius-lyrics/dist/Artists/Artist.d.ts | 35 | ||||
-rw-r--r-- | node_modules/genius-lyrics/dist/Artists/Artist.js | 78 | ||||
-rw-r--r-- | node_modules/genius-lyrics/dist/Artists/Client.d.ts | 14 | ||||
-rw-r--r-- | node_modules/genius-lyrics/dist/Artists/Client.js | 40 |
4 files changed, 167 insertions, 0 deletions
diff --git a/node_modules/genius-lyrics/dist/Artists/Artist.d.ts b/node_modules/genius-lyrics/dist/Artists/Artist.d.ts new file mode 100644 index 0000000..34928e7 --- /dev/null +++ b/node_modules/genius-lyrics/dist/Artists/Artist.d.ts @@ -0,0 +1,35 @@ +import { Client } from "../Client"; +export declare class Artist { + readonly client: Client; + partial: boolean; + name: string; + id: number; + url: string; + thumbnail: string; + image: string; + iq: number; + verified: { + normal: boolean; + meme: boolean; + }; + socialmedia: { + facebook?: string; + twitter?: string; + }; + raw: any; + constructor(client: Client, res: any, partial?: boolean); + /** + * Fetches the songs of the Artist (Requires Key) + * @example const Songs = await Artist.songs(); + */ + songs(options?: { + sort?: string; + page?: number; + per_page?: number; + }): Promise<any>; + /** + * Fetches All Information about the Artist and updates all the existing Properties (Requires Key) + * @example const NewArtist = await Artist.fetch(); + */ + fetch(): Promise<Artist>; +} diff --git a/node_modules/genius-lyrics/dist/Artists/Artist.js b/node_modules/genius-lyrics/dist/Artists/Artist.js new file mode 100644 index 0000000..112f45d --- /dev/null +++ b/node_modules/genius-lyrics/dist/Artists/Artist.js @@ -0,0 +1,78 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Artist = void 0; +const Song_1 = require("../Songs/Song"); +const Constants_1 = require("../Constants"); +class Artist { + constructor(client, res, partial = false) { + var _a; + this.client = client; + this.partial = partial; + this.name = res.name; + this.id = +res.id; + this.url = res.url; + this.thumbnail = res.image_url; + this.image = res.header_image_url; + this.iq = (_a = +res.iq) !== null && _a !== void 0 ? _a : 0; + this.verified = { + normal: res.is_verified, + meme: res.is_meme_verified, + }; + this.socialmedia = { + facebook: res.facebook_name || undefined, + twitter: res.twitter_name || undefined, + }; + this.raw = res; + } + /** + * Fetches the songs of the Artist (Requires Key) + * @example const Songs = await Artist.songs(); + */ + songs(options = {}) { + var _a, _b; + return __awaiter(this, void 0, void 0, function* () { + if (!this.client.key) { + throw new Error(Constants_1.Constants.REQUIRES_KEY); + } + if (typeof options !== "object") { + throw new Error("'options' must be a type of 'object'"); + } + const per_page = (_a = options.per_page) !== null && _a !== void 0 ? _a : 20; + const sort = options.sort && Constants_1.Constants.ARTIST_SORTS.includes(options.sort) + ? options.sort + : "title"; + const page = (_b = options.page) !== null && _b !== void 0 ? _b : 1; + const data = yield this.client.api.get(`/songs?page=${page}&per_page=${per_page}&sort=${sort}`); + const parsed = JSON.parse(data); + return parsed.songs.map((s) => new Song_1.Song(this.client, s, true)); + }); + } + /** + * Fetches All Information about the Artist and updates all the existing Properties (Requires Key) + * @example const NewArtist = await Artist.fetch(); + */ + fetch() { + return __awaiter(this, void 0, void 0, function* () { + if (!this.client.key) { + throw new Error(Constants_1.Constants.REQUIRES_KEY); + } + const data = yield this.client.api.get(`/artists/${this.id}`); + const parsed = JSON.parse(data); + this.socialmedia.facebook = parsed.artist.facebook_name; + this.socialmedia.twitter = parsed.artist.twitter_name; + this.raw = parsed.artist; + this.partial = false; + return new Artist(this.client, parsed.artist, false); + }); + } +} +exports.Artist = Artist; diff --git a/node_modules/genius-lyrics/dist/Artists/Client.d.ts b/node_modules/genius-lyrics/dist/Artists/Client.d.ts new file mode 100644 index 0000000..86d6a7c --- /dev/null +++ b/node_modules/genius-lyrics/dist/Artists/Client.d.ts @@ -0,0 +1,14 @@ +import { Client } from "../Client"; +import { Artist } from "./Artist"; +export declare class ArtistsClient { + readonly client: Client; + /** + * @example const ArtistsClient = await Genius.Artist.Client(key); + */ + constructor(client: Client); + /** + * Fetches the Artist using the provided ID (Requires Key) + * @example const Artist = await ArtistsClient.get(456537); + */ + get(id: number): Promise<Artist>; +} diff --git a/node_modules/genius-lyrics/dist/Artists/Client.js b/node_modules/genius-lyrics/dist/Artists/Client.js new file mode 100644 index 0000000..530aa0e --- /dev/null +++ b/node_modules/genius-lyrics/dist/Artists/Client.js @@ -0,0 +1,40 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ArtistsClient = void 0; +const Artist_1 = require("./Artist"); +const Constants_1 = require("../Constants"); +class ArtistsClient { + /** + * @example const ArtistsClient = await Genius.Artist.Client(key); + */ + constructor(client) { + this.client = client; + } + /** + * Fetches the Artist using the provided ID (Requires Key) + * @example const Artist = await ArtistsClient.get(456537); + */ + get(id) { + return __awaiter(this, void 0, void 0, function* () { + if (typeof id !== "number") { + throw new Error("'id' must be a type of 'number'"); + } + if (!this.client.key) { + throw new Error(Constants_1.Constants.REQUIRES_KEY); + } + const data = yield this.client.api.get(`/artists/${id}`); + const parsed = JSON.parse(data); + return new Artist_1.Artist(this.client, parsed.response.artist, false); + }); + } +} +exports.ArtistsClient = ArtistsClient; |