UNPKG

@intuitionrobotics/ts-common

Version:
32 lines 1.18 kB
import { _keys } from "./object-tools.js"; import {} from "./types.js"; export function regexpCase(value, reg) { return value.match(new RegExp(reg)) || { input: undefined }; } export function createFilterPattern(rawFilter) { let filter = rawFilter || ""; filter = filter.trim(); filter = filter.replace(/\s+/, " "); filter = filter.replace(new RegExp("(.)", "g"), ".*?$1"); if (filter.length === 0) filter = ".*?"; else filter += ".*"; return filter; } export function calculateJsonSizeMb(data) { const number = JSON.stringify(data).length / 1024 / 1024; return Math.round(number * 100) / 100; } export function __stringify(obj, pretty) { if (Array.isArray(pretty) && typeof obj === "object") { return `${_keys(obj).reduce((carry, key, idx) => { // @ts-expect-error TS struggles with this dynamic typing return carry + ` ${String(key)}: ${__stringify(obj[key], pretty.includes(key))}${idx !== _keys(obj).length - 1 && ',\n'}`; }, `{\n`)}\n}`; } if (pretty) return JSON.stringify(obj, null, 2); return JSON.stringify(obj); } //# sourceMappingURL=tools.js.map