'use strict'; var _ = require('lodash'); /** * Determines whether a string contains only hexadecimal values * * @param {string} value * @return {boolean} true if the string is the hexa representation of a number */ var isHexa = function isHexa(value) { if (!_.isString(value)) { return false; } return /^[0-9a-fA-F]+$/.test(value); }; module.exports = { /** * Test if an argument is a valid JSON object. If it is, returns a truthy * value (the json object decoded), so no double JSON.parse call is necessary * * @param {string} arg * @return {Object|boolean} false if the argument is not a JSON string. */ isValidJson: function isValidJson(arg) { try { return JSON.parse(arg); } catch (e) { return false; } }, isHexa: isHexa, isHexaString: isHexa };