import { readFileSync, writeFileSync } from "./filesystem"; import { sortElements, makeUnique } from "./types"; export function isValidJSON(path: string): boolean { try { let rawdata = readFileSync(path); JSON.parse(rawdata); return true; } catch { } return false; } export function formatJson(content: any) { return JSON.stringify(content, null, 4); } export function formatSortJson(content: any) { return JSON.stringify(sortElements(content), null, 4); } export function formatUniqueSortJson(content: any) { return JSON.stringify(makeUnique(sortElements(content)), null, 4); } export function formatJsonFile(filename: string, silent: boolean = false) { writeFileSync(filename, formatJson(JSON.parse(readFileSync(filename)))); console.log(`Formatted json file ${filename}`); } export function formatSortJsonFile(filename: string) { writeFileSync(filename, formatSortJson(JSON.parse(readFileSync(filename)))); console.log(`Formatted json file ${filename}`); } export function readJsonFile(path: string): any { return JSON.parse(readFileSync(path)); } export function writeJsonFile(path: string, data: any) { writeFileSync(path, JSON.stringify(data, null, 4)); }