apemandb
Version:
Database for apeman project.
43 lines (38 loc) • 735 B
JavaScript
/**
* @class JsonConverter
*/
/** @lends JsonConverter */
class JsonConverter {
convertToGet (value) {
return JsonConverter.fromJSONString(value) || value
}
convertToSet (value) {
return JsonConverter.toJSONString(value) || value
}
}
Object.assign(JsonConverter, {
toJSONString (values) {
if (typeof values === 'string') {
return values
}
try {
return JSON.stringify(values)
} catch (e) {
// Do nothing.
return null
}
},
fromJSONString (value) {
if (typeof value !== 'string') {
return value
}
try {
return JSON.parse(value)
} catch (e) {
// Do nothing.
return null
}
}
})
module.exports = JsonConverter