myteams-api
Version:
An MyTeams Module to use discord.js and Twitch API easily
58 lines • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addThumbnailMethod = exports.parseArrayToQueryString = exports.parseOptions = exports.parseMixedParam = exports.isNumber = void 0;
function isNumber(value) {
if (typeof value === "undefined")
return false;
if (value === null)
return false;
if (("" + value).includes("x"))
return false;
return !isNaN(Number("" + value));
}
exports.isNumber = isNumber;
function parseMixedParam({ values, stringKey, numericKey, }) {
let query = "";
function addToQuery(value) {
const key = !isNumber(value) ? stringKey : numericKey;
query += `${key}=${value}`;
}
if (Array.isArray(values))
values.forEach(addToQuery);
else
addToQuery(values);
return query.replace(/&$/, "");
}
exports.parseMixedParam = parseMixedParam;
function parseOptions(options) {
let query = "";
for (const key in options) {
const value = options[key];
if (value === null || value === undefined)
continue;
if (Array.isArray(value))
query += parseArrayToQueryString(key, value);
else
query += `${key}=${value}&`;
}
return query.replace(/&$/, "");
}
exports.parseOptions = parseOptions;
function parseArrayToQueryString(key, arr) {
const list = Array.isArray(arr) ? arr : [arr];
const result = list.map((value) => `${key}=${value}`).join("&");
return result;
}
exports.parseArrayToQueryString = parseArrayToQueryString;
function addThumbnailMethod(stream) {
const thumbnailUrl = stream.thumbnail_url;
stream.getThumbnailUrl = (options = { width: 1920, height: 1080 }) => {
const { width, height } = options;
return thumbnailUrl
.replace("{width}", "" + width)
.replace("{height}", "" + height);
};
return stream;
}
exports.addThumbnailMethod = addThumbnailMethod;
//# sourceMappingURL=util.js.map