@intuitionrobotics/ts-common
Version:
34 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.regexpCase = regexpCase;
exports.createFilterPattern = createFilterPattern;
exports.calculateJsonSizeMb = calculateJsonSizeMb;
exports.__stringify = __stringify;
const object_tools_1 = require("./object-tools");
function regexpCase(value, reg) {
return value.match(new RegExp(reg)) || { input: undefined };
}
function createFilterPattern(rawFilter) {
let filter = rawFilter || "";
filter = filter.trim();
filter = filter.replace(/\s+/, " ");
filter = filter.replace(new RegExp("(.)", "g"), ".*?$1");
filter.length === 0 ? filter = ".*?" : filter += ".*";
return filter;
}
function calculateJsonSizeMb(data) {
const number = JSON.stringify(data).length / 1024 / 1024;
return Math.round(number * 100) / 100;
}
function __stringify(obj, pretty) {
if (Array.isArray(pretty) && typeof obj === "object") {
return `${(0, object_tools_1._keys)(obj).reduce((carry, key, idx) => {
// @ts-ignore
return carry + ` ${String(key)}: ${__stringify(obj[key], pretty.includes(key))}${idx !== (0, object_tools_1._keys)(obj).length - 1 && ',\n'}`;
}, `{\n`)}\n}`;
}
if (pretty)
return JSON.stringify(obj, null, 2);
return JSON.stringify(obj);
}
//# sourceMappingURL=tools.js.map