@xnstream/player-sdk
Version:
XStream Player SDK - A powerful video player SDK for streaming content
41 lines • 1.34 kB
JavaScript
/**
* Get current Unix timestamp in seconds
* @returns number - Current Unix timestamp
*/
export function unixTimestamp() {
return Math.floor(Date.now() / 1000);
}
/**
* Get a random special character
* @returns string - Random special character
*/
export function getRandomSpecialCharacter() {
const specialChars = ["|", ":", ";", "@", "#", "$", "%", "^", "&", "*"];
return specialChars[Math.floor(Math.random() * specialChars.length)];
}
/**
* Shuffle an array using Fisher-Yates algorithm
* @param array - Array to shuffle
* @returns T[] - Shuffled array
*/
export function shuffleArray(array) {
const newArray = [...array];
for (let i = newArray.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[newArray[i], newArray[j]] = [newArray[j], newArray[i]];
}
return newArray;
}
export function canonicalJSONStringify(obj) {
if (typeof obj !== "object" || obj === null) {
return JSON.stringify(obj);
}
if (Array.isArray(obj)) {
return `[${obj.map(canonicalJSONStringify).join(",")}]`;
}
// Sort keys
const keys = Object.keys(obj).sort();
const keyValuePairs = keys.map((key) => `${JSON.stringify(key)}:${canonicalJSONStringify(obj[key])}`);
return `{${keyValuePairs.join(",")}}`;
}
//# sourceMappingURL=utils.js.map