tiktok-private-api
Version:
Unofficial TikTok API wrapper for scraping user info and posts.
83 lines • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HelperService = void 0;
class HelperService {
/**
* Find cookie by name in array of cookies
*
* @param cookies
* @param name
* @returns
*/
getCookieValue(cookies, name) {
let cookieValue = null;
if (cookies) {
cookies.forEach((cookie) => {
const splitCookie = cookie.split(";");
if (splitCookie) {
const cookieKv = splitCookie[0].split("=");
if (cookieKv) {
if (cookieKv[0] === name) {
cookieValue = cookieKv[1];
}
}
}
});
}
return cookieValue;
}
/**
* Generates random number between given range
*
* @param min - starting number
* @param max - ending number
* @returns random number between min and max
*/
getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
generateCsrfToken() {
let result = "";
let characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
let charactersLength = characters.length;
for (let i = 0; i < 16; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
/**
* Generates device id
*
* @returns device id
*/
generateDeviceId() {
let numbers = [];
this.range(19).forEach(() => {
numbers.push(this.choose(this.range(10)));
});
return parseInt(numbers.join(""));
}
/**
* Returns given length of array
*
* @param number
* @returns array of given number series
*/
range(number) {
return Array.from(Array(number).keys());
}
/**
* Randomly selects a number from given array of numbers
*
* @param choices
* @returns number
*/
choose(choices) {
var index = Math.floor(Math.random() * choices.length);
return choices[index];
}
}
exports.HelperService = HelperService;
//# sourceMappingURL=helper.service.js.map