ya-storage
Version:
yet another module for managing json storage
55 lines (44 loc) • 1.07 kB
JavaScript
;
/* eslint object-shorthand: 0 */
/* eslint no-param-reassign: 0 */
/* eslint import/no-unresolved: 0 */
function isFunction(functionToCheck) {
var getType = {};
return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
}
function tryParseJson(stringJson) {
var object = void 0;
try {
object = JSON.parse(stringJson);
} catch (e) {
return e;
}
return object;
}
function tryStringifyJson(objectJson) {
if (typeof objectJson === 'string') {
return objectJson;
}
var string = void 0;
try {
string = JSON.stringify(objectJson);
} catch (e) {
return e;
}
return string;
}
function addDotJsonIfNeeded(path) {
if (path.substring(path.length - 5, path.length) === '.json' || path.charAt(path.length - 1) === '/') {
return path;
}
return path + '.json';
}
function processPath(path) {
return addDotJsonIfNeeded(path);
}
module.exports = {
isFunction: isFunction,
tryParseJson: tryParseJson,
tryStringifyJson: tryStringifyJson,
processPath: processPath
};