UNPKG

sinch-rtc

Version:

RTC JavaScript/Web SDK

48 lines 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StringHelper = void 0; const CryptoJS = require("crypto-js"); const ulid_1 = require("ulid"); /** * Helper functions and generators concerning strings */ class StringHelper { /** * Creates random string of given length * @param b - bytes number */ static random(b = 16) { return CryptoJS.lib.WordArray.random(b).toString(); } /** * Returns HEX encoded string * @param s - string to encode */ static hexEncode(s) { let result = ""; let hex; for (let i = 0; i < s.length; i++) { hex = s.charCodeAt(i).toString(16); result += `000${hex}`.slice(-4); } return result; } /** * Generates random UUID */ static UUID() { return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => { const r = (Math.random() * 16) | 0; const v = c === "x" ? r : (r & 0x3) | 0x8; return v.toString(16); }); } /** * Generates random ULID */ static ULID(seedTime) { return (0, ulid_1.ulid)(seedTime); } } exports.StringHelper = StringHelper; //# sourceMappingURL=String.helper.js.map