UNPKG

@dynamic-data/twitch-mockups

Version:
1,743 lines (1,520 loc) 181 kB
import { getRandomInt } from '@dynamic-data/utils'; import MOCK from '@dynamic-data/twitch-data'; var VideosModel = { id: function id() { var id = getRandomInt(0, 999999999); return id.toString(); }, stream_id: function stream_id() { switch (getRandomInt(1, 2)) { case 1: return null; case 2: var id = getRandomInt(0, 999999999); return id.toString(); } }, user_id: function user_id() { var id = getRandomInt(0, 999999999); return id.toString(); }, user_login: function user_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, user_name: function user_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, title: function title() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz "; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, description: function description() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz !?.,|#"; var length = getRandomInt(20, 50); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, created_at: function created_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 23), getRandomInt(0, 59), getRandomInt(0, 59), getRandomInt(0, 999)); return finalDate.toISOString(); }, published_at: function published_at(created_at) { var createdDate = new Date(created_at); var publishedDate = new Date(createdDate.getTime() + getRandomInt(1, 432000)); return publishedDate.toISOString(); }, url: function url(id) { return "https://www.twitch.tv/videos/" + id; }, thumbnail_url: function thumbnail_url() { return "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/twitchdev/335921245/ce0f3a7f-57a3-4152-bc06-0c6610189fb3/thumb/index-0000000000-%{width}x%{height}.jpg"; }, viewable: function viewable() { var types = ["public", "private"]; return types[getRandomInt(0, types.length - 1)]; }, view_count: function view_count() { return getRandomInt(0, 9999999999); }, language: function language() { var languages = ["en", "id", "ca", "da", "de", "es", "fr", "it", "hu", "nl", "no", "pl", "pt", "ro", "sk", "fi", "sv", "tl", "vi", "tr", "cs", "el", "bg", "ru", "uk", "ar", "ms", "hi", "th", "zh", "ja", "zh-hk", "ko", "asl", "other"]; return languages[getRandomInt(0, languages.length - 1)]; }, type: function type() { var types = ["upload", "archive", "highlight"]; return types[getRandomInt(0, types.length - 1)]; }, duration: function duration() { var time = getRandomInt(0, 36000); var string = ""; if (time / 3600 > 1) { string += Math.floor(time / 3600) + "h"; } if (time % 3600 / 60 > 1) { string += Math.floor(time % 3600 / 60) + "m"; } if (time % 3600 % 60 > 1) { string += Math.floor(time % 3600 % 60) + "s"; } return string; }, muted_segments: function muted_segments(duration) { var array = []; var finalReturn = []; var numOfSegments = getRandomInt(0, 6) - 1; var durationInSeconds = 0; var durationLeftover = duration; if (durationLeftover.includes("h")) { durationInSeconds += parseInt(duration.split("h")[0]) * 60 * 60; durationLeftover = durationLeftover.split("h")[1]; } if (durationLeftover.includes("m")) { durationInSeconds += parseInt(duration.split("m")[0]) * 60; durationLeftover = durationLeftover.split("m")[1]; } if (durationLeftover.includes("s")) { durationInSeconds += parseInt(duration.split("s")[0]); durationLeftover = durationLeftover.split("s")[1]; } for (var i = 0; i < numOfSegments;) { var random = getRandomInt(0, durationInSeconds) - 1; if (!array.includes(random)) { array.push(random); i++; } } array.sort(function (a, b) { return a - b; }); for (var _i = 0; _i < array.length; _i++) { var durationSeg = 0; if (_i === array.length - 1) { if (array[_i] + durationSeg + 300 > durationInSeconds) { durationSeg = getRandomInt(0, durationInSeconds - array[_i]); } else { durationSeg = getRandomInt(0, 300); } } else { durationSeg = getRandomInt(0, 300); if (array[_i] + durationSeg > array[_i + 1]) { durationSeg = getRandomInt(0, array[_i + 1] - array[_i]); } } finalReturn.push({ duration: durationSeg, offset: array[_i] }); } return finalReturn; } }; var UserSubscriptionModel = { broadcaster_id: function broadcaster_id() { var id = getRandomInt(0, 999999999); return id.toString(); }, broadcaster_name: function broadcaster_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, broadcaster_login: function broadcaster_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, user_login: function user_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, is_gift: function is_gift() { switch (getRandomInt(1, 2)) { case 1: return true; case 2: return false; } }, tier: function tier() { return (getRandomInt(0, 3) * 1000).toString(); }, gifter_login: function gifter_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, gifter_name: function gifter_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; } }; var UsersFollowsModel = { from_id: function from_id() { var id = getRandomInt(0, 999999999); return id.toString(); }, from_login: function from_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, from_name: function from_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, to_id: function to_id() { var id = getRandomInt(0, 999999999); return id.toString(); }, to_name: function to_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, to_login: function to_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, followed_at: function followed_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 12) - 1); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 24) - 1, getRandomInt(0, 60) - 1, getRandomInt(0, 60) - 1, getRandomInt(0, 1000) - 1); return finalDate.toISOString(); } }; var UsersModel = { id: function id() { var id = getRandomInt(0, 999999999); return id.toString(); }, login: function login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, display_name: function display_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, type: function type() { var types = ["staff", "admin", "global_mod", ""]; return types[getRandomInt(0, types.length - 1)]; }, broadcaster_type: function broadcaster_type() { var types = ["partner", "affiliate", ""]; return types[getRandomInt(0, types.length - 1)]; }, description: function description() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, profile_image_url: function profile_image_url() { return "https://static-cdn.jtvnw.net/jtv_user_pictures/8a6381c7-d0c0-4576-b179-38bd5ce1d6af-profile_image-300x300.png"; }, offline_image_url: function offline_image_url() { return "https://static-cdn.jtvnw.net/jtv_user_pictures/3f13ab61-ec78-4fe6-8481-8682cb3b0ac2-channel_offline_image-1920x1080.png"; }, view_count: function view_count() { return getRandomInt(0, 99999999); }, email: function email() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var alphabet = "abcdefghijklmnopqrstuvwxyz"; var length1 = getRandomInt(5, 12); var length2 = getRandomInt(5, 12); var endings = [".com", ".co.uk"]; for (var i = 0; i < length1; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } string += "@"; for (var i = 0; i < length2; i++) { string += alphabet.charAt(Math.floor(Math.random() * alphabet.length)); } string += endings[getRandomInt(0, endings.length - 1)]; return string; }, created_at: function created_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 12) - 1); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 24) - 1, getRandomInt(0, 60) - 1, getRandomInt(0, 60) - 1, getRandomInt(0, 1000) - 1); return finalDate.toISOString(); } }; var ExtensionModel = { id: function id() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; for (var i = 0; i < 30; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, version: function version() { return (getRandomInt(0, 12) - 1).toString() + "." + (getRandomInt(0, 12) - 1).toString() + "." + (getRandomInt(0, 12) - 1).toString(); }, name: function name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, can_activate: function can_activate() { switch (getRandomInt(1, 2)) { case 1: return true; case 2: return false; } }, type: function type() { var types = ["panel", "overlay", "mobile", "component"]; var amount = getRandomInt(0, types.length); var final = []; for (var i = 0; i < amount;) { var random = getRandomInt(0, types.length - 1); if (!final.includes(types[random])) { final.push(types[random]); i++; } } return final; } }; var UserBlockListModel = { user_id: function user_id() { var id = getRandomInt(0, 999999999); return id.toString(); }, user_login: function user_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, display_name: function display_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; } }; var UserActiveExtensionsModel = { active: function active() { switch (getRandomInt(1, 2)) { case 1: return true; case 2: return false; } }, id: function id() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; for (var i = 0; i < 30; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, version: function version() { return (getRandomInt(0, 12) - 1).toString() + "." + (getRandomInt(0, 12) - 1).toString() + "." + (getRandomInt(0, 12) - 1).toString(); }, name: function name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; } }; var TopGamesModel = { id: function id() { var id = getRandomInt(0, 999999999); return id.toString(); }, name: function name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, box_art_url: function box_art_url() { return "https://static-cdn.jtvnw.net/ttv-boxart/PLAYERUNKNOWN%27S%20BATTLEGROUNDS-{width}x{height}.jpg"; } }; var TeamsModel = { user_id: function user_id() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, user_name: function user_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, user_login: function user_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, background_image_url: function background_image_url() { return "https://static-cdn.jtvnw.net/jtv_user_pictures/team-livecoders-team_logo_image-bf1d9a87ca81432687de60e24ad9593d-600x600.png"; }, banner: function banner() { return "https://static-cdn.jtvnw.net/jtv_user_pictures/team-livecoders-team_logo_image-bf1d9a87ca81432687de60e24ad9593d-600x600.png"; }, created_at: function created_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 12) - 1); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 24) - 1, getRandomInt(0, 60) - 1, getRandomInt(0, 60) - 1, getRandomInt(0, 1000) - 1); return finalDate.toISOString(); }, updated_at: function updated_at(created_at) { var createdAt = new Date(created_at); createdAt.setTime(createdAt.getTime() + getRandomInt(0, 630720000)); return createdAt.toISOString(); }, info: function info() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, thumbnail_url: function thumbnail_url() { return "https://static-cdn.jtvnw.net/jtv_user_pictures/team-livecoders-team_logo_image-bf1d9a87ca81432687de60e24ad9593d-600x600.png"; }, team_name: function team_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, team_display_name: function team_display_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, id: function id() { var id = getRandomInt(0, 999999999); return id.toString(); } }; var StreamsMarkersModel = { user_id: function user_id() { var id = getRandomInt(0, 999999999); return id.toString(); }, user_name: function user_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, user_login: function user_login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, video_id: function video_id() { var id = getRandomInt(0, 999999999); return id.toString(); }, id: function id() { var id = getRandomInt(0, 999999999); return id.toString(); }, created_at: function created_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 12) - 1); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 24) - 1, getRandomInt(0, 60) - 1, getRandomInt(0, 60) - 1, getRandomInt(0, 1000) - 1); return finalDate.toISOString(); }, description: function description() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, position_seconds: function position_seconds() { return getRandomInt(0, 32400); }, URL: function URL(video_id, position_seconds) { var stringTime = ""; stringTime += Math.floor(position_seconds / 3600) + "h"; stringTime += Math.floor((position_seconds - Math.floor(position_seconds / 3600) * 3600) / 60) + "m"; stringTime += Math.floor(position_seconds % 60) + "s"; return "https://twitch.tv/videos/" + video_id + "?t=" + stringTime; } }; var StreamsModel = { id: function id() { return getRandomInt(0, 99999999999).toString(); }, user_id: function user_id() { return getRandomInt(0, 99999999999).toString(); }, user_login: function user_login() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, user_name: function user_name() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, game_id: function game_id() { return getRandomInt(0, 99999999999).toString(); }, game_name: function game_name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, type: function type() { switch (getRandomInt(0, 10)) { case 1: return ""; default: return "live"; } }, title: function title() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, viewer_count: function viewer_count() { return getRandomInt(0, 9999999); }, started_at: function started_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 23), getRandomInt(0, 59), getRandomInt(0, 59), getRandomInt(0, 999)); return finalDate.toISOString(); }, language: function language() { var languages = ["en", "id", "ca", "da", "de", "es", "fr", "it", "hu", "nl", "no", "pl", "pt", "ro", "sk", "fi", "sv", "tl", "vi", "tr", "cs", "el", "bg", "ru", "uk", "ar", "ms", "hi", "th", "zh", "ja", "zh-hk", "ko", "asl", "other"]; return languages[getRandomInt(0, languages.length - 1)]; }, thumbnail_url: function thumbnail_url() { return "https://static-cdn.jtvnw.net/previews-ttv/live_user_amar-{width}x{height}.jpg"; }, tag_ids: function tag_ids() { var numOfTags = getRandomInt(0, 5) - 1; for (var i = 0; i < numOfTags; i++) { var string = ""; var characters = "0123456789abcdef"; for (var i = 0; i < 32; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); switch (i) { case 7: case 11: case 15: case 19: string += "-"; } } } }, is_mature: function is_mature() { switch (getRandomInt(0, 2)) { case 1: return true; case 2: return false; } } }; var StreamKeyModel = { stream_key: function stream_key() { var string = "live_"; string += getRandomInt(9999999, 99999999); string += "_"; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; for (var i = 0; i < 16; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; } }; var SoundtrackPlaylistModel = { title: function title() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, id: function id() { var string = ""; var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for (var i = 0; i < 10; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, image_url: function image_url() { return "https://m.media-amazon.com/images/I/517kGzeaRhL.jpg"; }, description: function description() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; } }; var SoundtrackArtistModel = { id: function id() { var string = ""; var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for (var i = 0; i < 10; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, name: function name() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, creator_channel_id: function creator_channel_id() { switch (getRandomInt(1, 2)) { case 1: return getRandomInt(0, 999999999).toString(); case 2: return ""; } } }; var SoundtrackAlbumModel = { id: function id() { var string = ""; var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for (var i = 0; i < 10; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, name: function name(title) { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } if (title.includes("[Explicit]")) { string += " [Explicit]"; } return string; }, image_url: function image_url() { return "https://m.media-amazon.com/images/I/316SDaD-XQL.jpg"; } }; var SoundtrackTrackModel = { id: function id() { var string = ""; var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for (var i = 0; i < 10; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, isrc: function isrc() { var string = ""; var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for (var i = 0; i < 10; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, duration: function duration() { return getRandomInt(30, 600); }, title: function title() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } switch (getRandomInt(1, 2)) { case 1: string += " [Explicit]"; } return string; } }; var SoundtrackTrackSourceModel = { id: function id() { var string = ""; var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for (var i = 0; i < 10; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, content_type: function content_type() { var types = ["PLAYLIST", "STATION"]; return types[getRandomInt(0, types.length - 1)]; }, title: function title() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, image_url: function image_url() { return "https://m.media-amazon.com/images/I/419WuvMXzEL.jpg"; }, soundtrack_url: function soundtrack_url() { return "https://soundtrack.twitch.tv/playlist?playlistID=B08HCW84SF"; }, spotify_url: function spotify_url() { return "https://open.spotify.com/playlist/1LOP14236oTUscowY3NvYN"; } }; var ReleasedExtensionsModel = { author_name: function author_name() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, bits_enabled: function bits_enabled() { switch (getRandomInt(1, 2)) { case 1: return true; case 2: return false; } }, can_install: function can_install() { switch (getRandomInt(1, 2)) { case 1: return true; case 2: return false; } }, configuration_location: function configuration_location() { var locations = ["hosted"]; return locations[getRandomInt(0, locations.length - 1)]; }, description: function description() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, eula_tos_url: function eula_tos_url() { return ""; }, has_chat_support: function has_chat_support() { switch (getRandomInt(1, 2)) { case 1: return true; case 2: return false; } }, icon_url: function icon_url() { return "https://extensions-discovery-images.twitch.tv/pgn0bjv51epi7eaekt53tovjnc82qo/0.0.8/logob6c995d8-8b45-48cc-a748-b256e92ac1cd"; }, icon_urls: function icon_urls() { return { "24x24": "https://extensions-discovery-images.twitch.tv/pgn0bjv51epi7eaekt53tovjnc82qo/0.0.8/logob6c995d8-8b45-48cc-a748-b256e92ac1cd", "100x100": "https://extensions-discovery-images.twitch.tv/pgn0bjv51epi7eaekt53tovjnc82qo/0.0.8/logob6c995d8-8b45-48cc-a748-b256e92ac1cd", "300x200": "https://extensions-discovery-images.twitch.tv/pgn0bjv51epi7eaekt53tovjnc82qo/0.0.8/logob6c995d8-8b45-48cc-a748-b256e92ac1cd" }; }, id: function id() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, name: function name() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, privacy_policy_url: function privacy_policy_url() { return ""; }, request_identity_link: function request_identity_link() { switch (getRandomInt(1, 2)) { case 1: return true; case 2: return false; } }, screenshot_urls: function screenshot_urls() { var array = []; var numOfUrls = getRandomInt(0, 5) - 1; for (var i = 0; i < numOfUrls; i++) { array.push("https://extensions-discovery-images.twitch.tv/pgn0bjv51epi7eaekt53tovjnc82qo/0.0.8/screenshotbdec475d-3d2f-4378-b334-941dfddc897a"); } return array; }, state: function state() { var types = ["InTest", "InReview", "Rejected", "Approved", "Released", "Deprecated", "PendingAction", "AssetsUploaded", "Deleted"]; return types[getRandomInt(0, types.length - 1)]; }, subscriptions_support_level: function subscriptions_support_level() { var levels = ["optional"]; return levels[getRandomInt(0, levels.length - 1)]; }, summary: function summary() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, support_email: function support_email() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz123456789"; var alphabet = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 20); var domain = getRandomInt(5, 10); var endings = [".com", ".co.uk"]; for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } string += "@"; for (var i = 0; i < domain; i++) { string += alphabet.charAt(Math.floor(Math.random() * alphabet.length)); } string += endings[getRandomInt(0, endings.length - 1)]; return string; }, version: function version() { return (getRandomInt(0, 12) - 1).toString() + "." + (getRandomInt(0, 12) - 1).toString() + "." + (getRandomInt(0, 12) - 1).toString(); }, viewer_summary: function viewer_summary() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, views: function views() { return {}; }, allowlisted_config_urls: function allowlisted_config_urls() { return []; }, allowlisted_panel_urls: function allowlisted_panel_urls() { return []; } }; var PredictionsModel = { id: function id() { var string = ""; var characters = "0123456789abcdef"; for (var i = 0; i < 32; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); switch (i) { case 7: case 11: case 15: case 19: string += "-"; } } return string; }, broadcaster_id: function broadcaster_id() { return getRandomInt(0, 99999999).toString(); }, broadcaster_name: function broadcaster_name() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, broadcaster_login: function broadcaster_login() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, title: function title() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 45); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, winning_outcome_id: function winning_outcome_id(status) { switch (status) { case "RESOLVED": var string = ""; var characters = "0123456789abcdef"; for (var i = 0; i < 32; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); switch (i) { case 7: case 11: case 15: case 19: string += "-"; } } return string; default: return null; } }, prediction_window: function prediction_window() { return getRandomInt(0, 99999); }, status: function status() { var status = ["RESOLVED", "ACTIVE", "CANCELED", "LOCKED"]; return status[getRandomInt(0, status.length - 1)]; }, created_at: function created_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 23), getRandomInt(0, 59), getRandomInt(0, 59), getRandomInt(0, 999)); return finalDate.toISOString(); }, ended_at: function ended_at(status, created_at) { switch (status) { case "ACTIVE": return null; default: var lockedAt = new Date(created_at); lockedAt.setTime(lockedAt.getTime() + getRandomInt(0, 3600)); return lockedAt.toISOString(); } }, locked_at: function locked_at(status, created_at) { switch (status) { case "LOCKED": var lockedAt = new Date(created_at); lockedAt.setTime(lockedAt.getTime() + getRandomInt(0, 3600)); return lockedAt.toISOString(); default: return null; } } }; var PredictionsOutcomeModel = { id: function id() { var string = ""; var characters = "0123456789abcdef"; for (var i = 0; i < 32; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); switch (i) { case 7: case 11: case 15: case 19: string += "-"; } } return string; }, title: function title() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, users: function users() { return getRandomInt(0, 99999); }, channel_points: function channel_points() { return getRandomInt(0, 999999999); }, color: function color(number, i) { switch (number) { case 2: switch (i) { case 0: return "BLUE"; case 1: return "PINK"; } default: return "BLUE"; } } }; var TopPredictorModel = { id: function id() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, name: function name() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, login: function login() { var string = ""; var characters = "0123456789abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, channel_points_used: function channel_points_used(used) { return used; }, channel_points_won: function channel_points_won(status, won) { switch (status) { case "RESOLVED": return won; default: return null; } } }; var PollModel = { id: function id() { var string = ""; var characters = "0123456789abcdef"; for (var i = 0; i < 32; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); switch (i) { case 7: case 11: case 15: case 19: string += "-"; } } return string; }, broadcaster_id: function broadcaster_id() { return getRandomInt(0, 99999999).toString(); }, broadcaster_name: function broadcaster_name() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, broadcaster_login: function broadcaster_login() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, title: function title() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, bits_voting_enabled: function bits_voting_enabled() { switch (getRandomInt(0, 2)) { case 1: return true; case 2: return false; } }, bits_per_vote: function bits_per_vote(bits_enabled) { switch (bits_enabled) { case false: return 0; case true: return getRandomInt(0, 9999999); } }, channel_points_voting_enabled: function channel_points_voting_enabled() { switch (getRandomInt(0, 2)) { case 1: return true; case 2: return false; } }, channel_points_per_vote: function channel_points_per_vote(points_enabled) { switch (points_enabled) { case false: return 0; case true: return getRandomInt(0, 9999999); } }, status: function status() { var statuses = ["ACTIVE", "COMPLETED", "TERMINATED", "ARCHIVED", "MODERATED", "INVALID"]; return statuses[getRandomInt(0, statuses.length - 1)]; }, duration: function duration() { return getRandomInt(0, 99999999); }, started_at: function started_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 23), getRandomInt(0, 59), getRandomInt(0, 59), getRandomInt(0, 999)); return finalDate.toISOString(); } }; var PollChoiceModel = { id: function id() { var string = ""; var characters = "0123456789abcdef"; for (var i = 0; i < 32; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); switch (i) { case 7: case 11: case 15: case 19: string += "-"; } } return string; }, title: function title() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, votes: function votes(channel_points_votes, bits_votes) { return channel_points_votes + bits_votes + getRandomInt(0, 99999); }, channel_points_votes: function channel_points_votes(channel_points_voting_enabled) { switch (channel_points_voting_enabled) { case true: return getRandomInt(0, 100); case false: return 0; } }, bits_votes: function bits_votes(bits_voting_enabled) { switch (bits_voting_enabled) { case true: return getRandomInt(0, 100); case false: return 0; } } }; var ModeratorsModel = { user_id: function user_id() { return getRandomInt(0, 99999999).toString(); }, user_login: function user_login() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, user_name: function user_name() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; } }; var HypeTrainEventsModel = { id: function id() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; var length = 27; for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string; }, event_type: function event_type() { var types = ["progression"]; var string = "hypetrain."; return string + types[getRandomInt(0, types.length - 1)]; }, event_timestamp: function event_timestamp(started_at) { var event_timestamp = new Date(started_at); event_timestamp.setTime(event_timestamp.getTime() + getRandomInt(0, 9999)); return event_timestamp.toISOString(); }, version: function version() { return (getRandomInt(0, 12) - 1).toString() + "." + (getRandomInt(0, 12) - 1).toString() + "." + (getRandomInt(0, 12) - 1).toString(); } }; var HypeTrainEventDataModel = { broadcaster_id: function broadcaster_id() { return getRandomInt(0, 999999999).toString(); }, cooldown_end_time: function cooldown_end_time(expires_at) { var cooldown_end_time = new Date(expires_at); cooldown_end_time.setTime(cooldown_end_time.getTime() + getRandomInt(0, 9999)); return cooldown_end_time.toISOString(); }, expires_at: function expires_at(started_at) { var expires_at = new Date(started_at); expires_at.setTime(expires_at.getTime() + getRandomInt(0, 9999)); return expires_at.toISOString(); }, goal: function goal() { return getRandomInt(0, 999999); }, id: function id() { var string = ""; var characters = "0123456789abcdef"; for (var i = 0; i < 32; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); switch (i) { case 7: case 11: case 15: case 19: string += "-"; } } return string; }, level: function level() { return getRandomInt(0, 5); }, started_at: function started_at() { var finalDate = new Date(0); var maxMonthDate = new Date(0); finalDate.setFullYear(getRandomInt(2020, 2050)); finalDate.setMonth(getRandomInt(0, 11)); finalDate.setDate(1); maxMonthDate = finalDate; maxMonthDate.setMonth(maxMonthDate.getMonth() + 1); maxMonthDate.setDate(0); finalDate.setDate(getRandomInt(1, maxMonthDate.getDate())); finalDate.setHours(getRandomInt(0, 23), getRandomInt(0, 59), getRandomInt(0, 59), getRandomInt(0, 999)); return finalDate.toISOString(); }, total: function total() { return getRandomInt(0, 999999); } }; var HypeTrainEventContributionModel = { total: function total(type) { switch (type) { case "BITS": return getRandomInt(0, 99999); case "SUBS": var subTotal = [500, 1000, 2500]; switch (getRandomInt(0, 3)) { case 1: return subTotal[getRandomInt(0, subTotal.length - 1)]; case 2: var num1 = subTotal[getRandomInt(0, subTotal.length - 1)]; var num2 = num1; do { num2 = subTotal[getRandomInt(0, subTotal.length - 1)]; } while (num2 === num1); return num1 + num2; case 3: return 4000; } } }, type: function type() { var types = ["BITS", "SUBS"]; return types[getRandomInt(0, types.length - 1)]; }, user: function user() { return getRandomInt(0, 999999999).toString(); } }; var GlobalEmotesModel = { id: function id() { return getRandomInt(0, 999999).toString(); }, name: function name() { var string = ""; var characters = "abcdefghijklmnopqrstuvwxyz"; var length = getRandomInt(10, 32); for (var i = 0; i < length; i++) { string += characters.charAt(Math.floor(Math.random() * characters.length)); } return string;