nyt-util
Version:
Neyaatek Utilies
93 lines (92 loc) • 2.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UUID4 = exports.AddDays = exports.DaysBack = exports.Key = exports.UniqueByType = exports.UniqueCode = exports.RandomString = exports.SuccessResponse = exports.ErrorResponse = void 0;
const randomstring_1 = require("randomstring");
const ErrorResponse = (message) => {
return {
status: 0,
message: 'ERROR',
data: message,
};
};
exports.ErrorResponse = ErrorResponse;
const SuccessResponse = (data) => {
return {
status: 1,
message: 'SUCCESS',
data: data,
};
};
exports.SuccessResponse = SuccessResponse;
const RandomString = (length, charset) => {
return (0, randomstring_1.generate)({ length: length, charset: charset });
};
exports.RandomString = RandomString;
let uniqueId = 0;
const UniqueCode = () => {
let time = new Date().getTime();
if (uniqueId == time) {
while (new Date().getTime() < 1 + time) { }
time = new Date().getTime();
}
uniqueId = time;
return time.toString(36).toUpperCase();
};
exports.UniqueCode = UniqueCode;
const NON_ALPHA_NUMERIC = /[^\w\s]/g;
const UniqueByType = (name, type = null) => {
let str = '';
if (type) {
str = type + '_' + name;
}
else {
str = name + '_' + (0, exports.UniqueCode)();
}
str = str.replace(NON_ALPHA_NUMERIC, '_');
str = str.replace(/\s/g, '_');
str = str.substr(0, 128);
return str.toUpperCase();
};
exports.UniqueByType = UniqueByType;
const Key = (name) => {
if (name == null)
return null;
let str = '';
str = name.trim();
str = str.replace(NON_ALPHA_NUMERIC, '_');
str = str.replace(/\s/g, '_');
return str.toUpperCase();
};
exports.Key = Key;
const DaysBack = (date, backValue, isDays = true) => {
date = new Date(date);
if (isDays) {
date.setDate(date.getDate() - backValue);
}
else {
date.setMilliseconds(date.getMilliseconds() - backValue);
}
date = new Date(date.getFullYear(), date.getMonth(), date.getDate());
return date;
};
exports.DaysBack = DaysBack;
const AddDays = (date, addDays, isDays = true) => {
date = new Date(date);
if (isDays) {
date.setDate(date.getDate() + addDays);
}
else {
date.setMilliseconds(date.getMilliseconds() + addDays);
}
date = new Date(date.getFullYear(), date.getMonth(), date.getDate());
return date;
};
exports.AddDays = AddDays;
const UUID4 = () => {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
const r = (Math.random() * 16) | 0;
const v = c == 'x' ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
};
exports.UUID4 = UUID4;