UNPKG

@nkhind/vivawallet-sdk

Version:
122 lines (121 loc) 3.62 kB
"use strict"; 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;