UNPKG

nyt-util

Version:

Neyaatek Utilies

93 lines (92 loc) 2.75 kB
"use strict"; 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;