utilities/index.js

53 lines
1.0 KiB
JavaScript
Raw Normal View History

2020-03-04 12:13:28 +01:00
/*
* Copyright (C) Sapphirecode - All Rights Reserved
2020-03-25 17:01:22 +01:00
* This file is part of Utilities which is released under MIT.
* See file 'LICENSE' for full license details.
2020-03-04 12:13:28 +01:00
* Created by Timo Hocker <timo@scode.ovh>, March 2020
*/
'use strict';
/**
* truncates a floating point number
*
* @param {number} num number to truncate
* @param {number} len length to truncate to
* @returns {number} truncated number
*/
function truncate_decimal (num, len) {
return Math.round (num * (10 ** len)) / (10 ** len);
}
/**
* parse json and catch invalid strings
*
* @param {string} text input
* @returns {any} parsed
*/
function try_parse_json (text) {
try {
return JSON.parse (text);
}
catch (e) {
// noop
}
return null;
}
2020-03-10 10:46:12 +01:00
/**
* copy an object to prevent modification to the original
*
* @param {object} obj object to copy
* @returns {object} copy
*/
function copy_object (obj) {
return JSON.parse (JSON.stringify (obj));
}
2020-03-04 12:13:28 +01:00
module.exports = {
truncate_decimal,
2020-03-10 10:46:12 +01:00
try_parse_json,
copy_object
2020-03-04 12:13:28 +01:00
};