aboutsummaryrefslogtreecommitdiff
path: root/node_modules/genius-lyrics/dist/Artists
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-09 17:58:07 +0100
committerMinteck <contact@minteck.org>2022-02-09 17:58:07 +0100
commit22a25ded9f7d9c9a96cce8d1bc12475ca0434201 (patch)
tree0e33d0650fe58f41c00bbc4b8047956905766823 /node_modules/genius-lyrics/dist/Artists
parent8f54d903fb3470823a5e4d6ff4655de009836245 (diff)
downloadyoutoo-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.ts35
-rw-r--r--node_modules/genius-lyrics/dist/Artists/Artist.js78
-rw-r--r--node_modules/genius-lyrics/dist/Artists/Client.d.ts14
-rw-r--r--node_modules/genius-lyrics/dist/Artists/Client.js40
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;