type Replacer = (key: string, value: any) => any;
export interface WriteJsonOptions { spaces?: number | string; replacer?: Array<number | string> | Replacer;}
export async function writeJson( filePath: string, object: any, options: WriteJsonOptions = {}): Promise<void> { let contentRaw = "";
try { contentRaw = JSON.stringify( object, options.replacer as string[], options.spaces ); } catch (err) { err.message = `${filePath}: ${err.message}`; throw err; }
await Deno.writeFile(filePath, new TextEncoder().encode(contentRaw));}
export function writeJsonSync( filePath: string, object: any, options: WriteJsonOptions = {}): void { let contentRaw = "";
try { contentRaw = JSON.stringify( object, options.replacer as string[], options.spaces ); } catch (err) { err.message = `${filePath}: ${err.message}`; throw err; }
Deno.writeFileSync(filePath, new TextEncoder().encode(contentRaw));}