zcatalyst-cli
Version:
Command Line Tool for CATALYST
57 lines (56 loc) • 1.91 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.JS = void 0;
const crypto_1 = __importDefault(require("crypto"));
const lodash_1 = __importDefault(require("lodash"));
exports.JS = lodash_1.default.mixin({
sleep: (ms) => {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
},
randomString: (length = 6) => {
return crypto_1.default
.randomBytes(Math.ceil(length / 2))
.toString('hex')
.slice(0, length)
.trim();
},
randomNumber: (length) => {
const add = 1;
let max = 12 - add;
if (length > max) {
return exports.JS.randomNumber(max) + exports.JS.randomNumber(length - max);
}
max = Math.pow(10, length + add);
const min = max / 10;
const randNum = Math.floor(Math.random() * (max - min + 1)) + min;
const randString = randNum
.toLocaleString('fullwide', { useGrouping: false })
.substring(add);
return randString.startsWith('0')
? exports.JS.random(1, 9, false) + randString.slice(1)
: randString;
},
removeNullAndUndefined: (obj) => {
const copy = obj;
Object.entries(copy).forEach(([key, val]) => (val &&
typeof val === 'object' &&
exports.JS.removeNullAndUndefined(val)) ||
((val === null || val === undefined) && delete copy[key]));
return copy;
},
parseJSON: (str) => {
try {
return JSON.parse(str);
}
catch (e) { }
},
camelToTitleCase: (str) => {
str = str.replace(/([A-Z])/g, ' $1');
return str.charAt(0).toUpperCase() + str.slice(1);
}
});