@nkhind/vivawallet-sdk
Version:
Non-Official VivaWallet API SDK
122 lines (121 loc) • 3.62 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.querifyDatas = exports.replaceKeyByValue = exports.replaceAll = exports.capitalize = exports.isValidJson = exports.objArrayToObj = exports.isEmpty = exports.itemsIsInArray = exports.isInArray = exports.isEgal = exports.validEmail = exports.validPassword = exports.validNumber = exports.isNumber = exports.validStringLength = exports.isDev = exports.makeUuid = void 0;
const uuid_1 = require("uuid");
const validator_1 = __importDefault(require("validator"));
/**
* Make an uuid V4
*/
function makeUuid() {
return (0, uuid_1.v4)();
}
exports.makeUuid = makeUuid;
function isDev() {
return process.env.NODE_ENV === 'development';
}
exports.isDev = isDev;
function validStringLength(str, min, max) {
return str.length >= min && str.length <= max;
}
exports.validStringLength = validStringLength;
function isNumber(item) {
return typeof item === 'number' && !isNaN(item);
}
exports.isNumber = isNumber;
/**
* Check if item is a valid number between min and max
*/
function validNumber(item, min, max) {
return isNumber(item) && item >= min && item <= max;
}
exports.validNumber = validNumber;
function validPassword(password) {
return (validStringLength(password, 8, 256) &&
/[a-z]/.test(password) &&
/[A-Z]/.test(password) &&
/[0-9]/.test(password));
}
exports.validPassword = validPassword;
function validEmail(email) {
return validator_1.default.isEmail(email);
}
exports.validEmail = validEmail;
function isEgal(item1, item2) {
if (typeof item1 !== typeof item2)
return false;
if (typeof item1 === 'object')
return isEgal(JSON.stringify(item1), JSON.stringify(item2));
return item1 === item2;
}
exports.isEgal = isEgal;
function isInArray(item, array) {
return array.includes(item);
}
exports.isInArray = isInArray;
function itemsIsInArray(items, array) {
if (!items.length)
return true;
if (!array.length)
return false;
return items.every((item) => isInArray(item, array));
}
exports.itemsIsInArray = itemsIsInArray;
function isEmpty(item) {
if (typeof item === 'object')
return !Object.keys(item).length;
return !item && item !== 0;
}
exports.isEmpty = isEmpty;
function objArrayToObj(array, key) {
if (!array || !array.length)
return {};
let obj = {};
array.forEach((item) => {
obj[item[key]] = item;
});
return obj;
}
exports.objArrayToObj = objArrayToObj;
function isValidJson(str) {
try {
JSON.parse(str);
return true;
}
catch (e) {
return false;
}
}
exports.isValidJson = isValidJson;
function capitalize(str) {
return str[0].toUpperCase() + str.slice(1);
}
exports.capitalize = capitalize;
/**
* Replace all `search` by `replace` in `str`
*/
function replaceAll(str, search, replace) {
return str.split(search).join(replace);
}
exports.replaceAll = replaceAll;
/**
* Replace all `{{keys}}` by values in `str`
*/
function replaceKeyByValue(str, datas) {
Object.keys(datas).forEach((key) => {
str = replaceAll(str, `{{${key}}}`, String(datas[key]));
});
return str;
}
exports.replaceKeyByValue = replaceKeyByValue;
function querifyDatas(datas) {
return Object.keys(datas)
.map((key) => {
const k = key;
return (key + '=' + encodeURIComponent(datas[k]));
})
.join('&');
}
exports.querifyDatas = querifyDatas;