2020-03-04 12:13:28 +01:00
|
|
|
/*
|
|
|
|
* Copyright (C) Sapphirecode - All Rights Reserved
|
|
|
|
* 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
|
|
|
};
|